2011-02-11
■[titanium] Ti.UI.Viewでパーティクルベンチマーク
Ti.UI.Viewで点を描いて動かすとどれくらいFPSがでるか計測してみた。
以下がソース。
実行すると黒い点が画面上を飛び回ります。
var window = Titanium.UI.createWindow({ backgroundColor:'#fff' }); var view_num = 10; var points = []; for( var i = 0; i < view_num; i++){ var point = Ti.UI.createView({ backgroundColor : 'red', width: 2, height: 2, center: window.center }); var sign = (parseInt(Math.random()*10)%2) ? 1 : -1; point.vx = sign * parseInt(Math.random()*10); var sign = (parseInt(Math.random()*10)%2) ? 1 : -1; point.vy = sign * parseInt(Math.random()*10); points.push( point ); window.add( point ); } var fps_text = Ti.UI.createTextField({ value : '0 fps', left : 0, }); window.add( fps_text ); function render(){ for( var i = 0; i < points.length; i++){ var point = points[i]; var newx = point.center.x + point.vx; var newy = point.center.y + point.vy; if( newx <= 0 ){ newx = 0; point.vx *= -1; } else if( window.width <= newx ){ newx = window.width; point.vx *= -1; } if( newy <= 0 ){ newy = 0; point.vy *= -1; } else if( window.height <= newy ){ newy = window.height; point.vy *= -1; } point.center = { x : newx, y : newy }; } } window.open(); var last_time = new Date().getTime(); var elapsed_time = 0; var framecount = 0; setInterval( function(){ render(); var now = new Date().getTime(); elapsed_time += (now - last_time); last_time = now; framecount++; if( 990 <= elapsed_time ){ fps_text.value = '' + framecount + ' fps'; framecount = 0; elapsed_time = 0; } }, 33);
トラックバック - http://d.hatena.ne.jp/bongole/20110211/p1
リンク元
- 42 http://d.hatena.ne.jp/hiro_nemu/20100902/1283440850
- 35 http://t32k.me/mol/log/background-error-me-titanum/
- 33 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331030285433&ved=0CCkQFjAA&url=http://d.hatena.ne.jp/bongole/20100902/p1&ei=BOlVT82tKI6OmQWvsqnYCQ&usg=AFQjCNHrtNcF2nhp6B1BTKjaxpQq30FOdw
- 26 http://astronaughts.net/?p=336
- 22 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/bongole/20100902/p1&rct=j&q=titanium button enabled = true&ei=f3avTZKsBoiCvgOs-o2aBw&usg=AFQjCNHrtNcF2nhp6B1BTKjaxpQq30FOdw
- 21 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=titanium+log
- 21 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cts=1330674157517&ved=0CDsQFjAB&url=http://d.hatena.ne.jp/bongole/20101013/p1&ei=T3lQT9qONOXymAW99oSkCg&usg=AFQjCNFJ4iu8KE49t3vWyquwIW699R9-LA&sig2=3MUzMntRJnhcxNEcHFt6MA
- 16 http://blog.looseleafjs.org/entry/49/
- 16 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=v8+setCallAsFunctionAsHandler
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=android 実機 デバッグ ネットワーク&source=web&cd=2&ved=0CDMQFjAB&url=http://d.hatena.ne.jp/bongole/20101019/p1&c