iPad画布非常糟糕,零性能

时间:2011-11-01 15:17:47

标签: javascript performance ipad svg html5-canvas

我创建的javascript库只翻译单张图片并进行缩放。触摸事件和鼠标事件的使用取决于设备。

我在Firefox(7.0.1),iPhone 3GS(iOS 5.0)和iPhone 4(iOS 5.0)上运行了这个javascript代码,性能一流,没问题。

然后我在iPad 1(iOS 5.0)上以较慢的性能运行它,虽然缩放和翻译图片有效。

最后一次测试是在iPad 2(iOS 4.3.3)上进行的,在这里我体验了与iPad 1相同的慢速性能,但翻译根本没有用。

我不知道这是什么意思,因为iPhone应该比iPad弱很多。我希望得到任何帮助或评论,让我走上正轨。

http://pastebin.com/wZ7e77yq

更新

我刚刚在iPad 2(iOS 5.0)上运行它,它运行完美。我也试过iPhone 3GS(iOS 4.2.1)并且它没有用,就像iOS 4.3.3一样。这意味着我的应用程序需要iOS 5.0才能运行......你真的无法在iOS 5.0之前翻译对象吗?

UPDATE2

我只是在三个不同的iPad 1(iOS 5.0)上运行它并且它不能很好地工作。 iPhone 4和iPad 1之间的最大区别是什么?规格几乎相同。翻译也没有用,因为函数event.pageY / X在iOS 5之前不起作用。这是通过使用event.touches.pageX / Y来修复的。

2 个答案:

答案 0 :(得分:1)

我正在开发一款用于测试画布性能的小游戏而没有任何特殊的游戏框架,因此我保持简单,因为我自己编写它。该程序没有什么特别之处,只是使用不同的操纵杆类型在屏幕上移动精灵,例如用于桌面点击的键盘和鼠标,以及用于iOS的触摸事件。我发现了以下内容:

  • 与触摸事件相比,在画布上直接使用点击会导致性能下降。
  • 触摸事件适用于不同的画布尺寸,最高可达1024x768。
  • 我没有尝试过图片缩放,但这也应该没问题。
  • event.pageX,event.pageY在iPad(iOS5)上没有问题。

我希望有所帮助。

答案 1 :(得分:-1)

似乎iOS CANVAS支持是个问题。 iOS5具有完全GPU硬件加速的CANVAS支持,而以前的版本支持CANVAS,虽然非常糟糕。

令人惊讶的是,即使使用iOS 5,它在iPad 1上也无法正常工作。您可以尝试关闭所有当前正在运行的应用程序,关闭所有其他浏览器选项卡,然后再次运行测试吗?