除了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