パーティクル3万個

uupaa2011-06-22


IE 10pp2 と iPad2 (iOS5) のスコアを追記しました
iPhone4S (iOS5) のスコアを追記しました

Firefox 4 から window.mozRequestAnimationFrame が利用可能になっています。

window.requestAnimationFrame / setTimeout(,4) / setInterval(, 16) で パーティクル3万個を飛ばすデモ

ベンチマークマシンのスペック → MacBook (13-inch, Late 2009) - 技術仕様
メモリ4GBに + BootCamp + Windows7 上で計測しています。

Windows エクスペリエンスインデックスの数値は、5.1 で、各項目は

  • プロセッサ: 5.8
  • メモリ: 5.8
  • グラフィックス: 5.1
  • ゲーム用グラフィックス: 5.5
  • プライマリハードディスク: 5.9

となっています。

各ブラウザのスコアはこちら

requestAnimationFrame または setInterval(16)
Browser fps method
IE 9.0.1 (x86) 45 setInterval(, 16)
IE 9.0.1 (x64) 17 setInterval(, 16)
IE 10 pp1 45 setInterval(, 16)
IE 10 pp2 44 msRequestAnimationFrame
IE 10 pp2 44 setInterval(, 16)
Safari 5.1 beta 50 setInterval(, 16)
Firefox 5 60 mozRequestAnimationFrame
Chrome 14 60 webkitRequestAnimationFrame
Opera 11.11 62.5 setInterval(, 16)
iPhone 3GS (iOS4.3.3) 5.2 setInterval(, 16)
iPhone 4GS (iOS5) 14.1 setInterval(, 16)
iPad 2 (iOS4.3.3) 12.9 setInterval(, 16)
iPad 2 (iOS5.0) 17.6 setInterval(, 16)
Firefox 5 (DHD) 20.5 mozRequestAnimationFrame
MobileWebKit 533.1 (DHD) 3.9 setInterval(, 16)
MobileWebKit 533.1 (GP) 5.2 setInterval(, 16)
setTimeout(4) で実行
Browser fps requestAnimationFrame または setInterval(16)と比較して
IE 9.0.1 (x86) 41 やや遅くなる
IE 9.0.1 (x64) 16.5 やや遅くなる
IE 10 pp1 42.5 やや遅くなる
Safari 5.1 beta 43 やや遅くなる
Firefox 5 100 とても速くなる(速くなりすぎる?)
Chrome 14 60 変化なし
Opera 11.11 95 とても速くなる(速くなりすぎる?)
iPhone 3GS (iOS4.3.3) 5.1 変化なし
iPhone 4GS (iOS5.0) 13.5 やや遅くなる
iPad 2 (iOS4.3.3) 12.9 変化なし
iPad 2 (iOS5.0) 16.4 やや遅くなる
Firefox 5 - (DHD) 20.2 やや遅くなる
MobileWebKit 533.1 - (DHD) 5.2 やや速くなる
MobileWebKit 533.1 - (GP) 5.2 変化なし

※DHD = HTC Desire HD (Android OS 2.2)
※GP = GALAPAGOS SoftBank 005SH (Android OS 2.2.1)

このテストでわかったことは、
・MobileWebKit 533.1 で動かすとパーティクルが緑色で表示される(バグかな?)
・setTimeout(4)はsetInterval(16)に比べ負荷が高くなる傾向がある
Firefox 5 と Opera 11 は setTimeout(4) に追従している。未来を感じる
iOS 5.0 の MobileSafari は window.webkitRequestAnimationFrame() 未実装

IE 9の64bit版は今回もパフォーマンスチューニングなしでリリースされている

IE 9.0.1 (x86)に比べ、x64版が極端に遅いため、x64版は今回もチューニングせず出荷されたようです。x64版はこのまま「時間切れで出荷された可哀想なブラウザ」なのでしょうか?