除了MyNameIsKo對iPad 3性能的發現。我想知道是否這樣做是因爲CSS DOM方法不得不擔心在iPad 3的視網膜屏幕上繪圖,而畫布會以較低的分辨率繪製,然後blt'd屏幕。 iPad 1的CSS更新速度明顯快於iPad3!
我還對畫布javascript做了一些更改,以便能夠繪製到視網膜分辨率畫布。我在canv.height = h後添加了下面的代碼:在bg.onload功能:
if (window.devicePixelRatio) {
ctx.canvas.style.width = w + "px";
ctx.canvas.style.height = h + "px";
ctx.canvas.height = h * window.devicePixelRatio;
ctx.canvas.width = w * window.devicePixelRatio;
ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
}
這使得性能的巨大減少...
ipad公司1(的iOS 5.5.1)
的iPad 3(6.1.3的iOS)
CSS Sprite Canvas Sprites
-----------------------------------------------------
iPad 1 90 100
iPad 3 55 120
iPad 1(canvas changes) n/a 100
iPad 3(canvas changes) n/a 35
謝謝!在畫布上移動圖像最快的方法是什麼? – 2011-01-30 12:47:23
@ avok00在畫布上移動圖像的唯一方法是清除圖像所在的矩形,並使用`drawImage()`再次繪製圖像。然而,我強烈懷疑你的表現會因此而變得更糟,而不僅僅是在DOM上移動圖像。 – Phrogz 2011-01-30 15:37:20
嗯,那麼這是什麼約50fps?也許我可以使用translate來移動整個畫布並獲得更好的性能? – 2011-01-30 18:36:56