iPad canvas的性能差到零
iPad canvas very bad to zero performance
我创建的javascript库只是翻译一张图片并将其缩放。触摸事件和鼠标事件的使用取决于什么设备。
我在Firefox (7.0.1), iPhone 3GS (ios5.0)和iPhone 4 (ios5.0)上运行了这段javascript代码,性能都很流畅,没有任何问题。
然后我在iPad 1 (iOS 5.0)上运行它,尽管缩放和翻译图片有效,但性能较慢。
最后一次测试是在ipad2 (iOS 4.3.3)上进行的,在这里我遇到了和ipad1一样的缩放缓慢的性能,但翻译根本无法工作。
我不知道这是怎么回事,因为iPhone应该比iPad弱得多。我将感谢任何帮助或意见,让我走上正确的轨道。
http://pastebin.com/wZ7e77yq更新
我刚刚在iPad 2 (iOS 5.0)上运行了它,它运行得完美无瑕。我也试过iPhone 3GS (iOS 4.2.1),它不起作用,和iOS 4.3.3一样。这意味着我的应用程序需要iOS 5.0才能运行…在ios5.0之前,你真的不能翻译对象吗?
更新2
我刚刚在三个不同的iPad 15 (iOS 5.0)上运行了它,效果不是很好。iPhone 4和iPad 1最大的区别是什么?规格几乎相同。翻译也没有工作,因为函数事件。pageY/X在iOS 5之前不能工作。使用event.touch修复了这个问题。pageX/Y。
我当时正在开发一款测试画布性能的小游戏,没有任何特殊的游戏框架,所以我尽量保持简单,因为这是我自己编写的。这个程序没有做什么特别的事情,只是用不同的操纵杆类型在屏幕上移动一个精灵,比如键盘和鼠标用于桌面点击,触摸事件用于iOS。我发现了以下内容:
- 与触摸事件相比,直接在画布上使用轻击会导致性能差。
- 触摸事件在不同的画布尺寸(1024x768)下运行良好。
- 我没有尝试图片缩放,但这应该也很好。
- 事件。pageX、事件。pageY在iPad (iOS5)上运行正常。
似乎iOS CANVAS支持是问题所在。iOS5有完整的GPU硬件加速CANVAS支持,而以前的版本支持CANVAS,尽管非常差。
令人惊讶的是,即使在iOS 5上,它也不能很好地在iPad 1上运行。您可以尝试关闭所有当前正在运行的应用程序,关闭所有其他浏览器选项卡,然后再次运行测试吗?
- 函数参数中的数据与指定变量之间的任何性能差异
- 提高JQuery的性能
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- React:按键的性能提升
- 在Three.js中导出网格会提高性能吗
- 在javascript中搜索项目列表的性能
- Web应用程序性能:SVG、Canvas或Dom Manipulation
- 性能:CSS3 动画与 HTML5 Canvas
- Canvas getImageData() 为了获得最佳性能.提取所有数据或一次提取一个数据
- 提高 HTML5 Canvas 中 10,000 个粒子的性能
- 清除HTML5中的canvas〔2D上下文〕是获得良好性能所必需的
- Canvas GetImageData() / PutImageData()在移动设备上的性能非常糟糕
- 我可以在Canvas中使用ROP吗?(我只关心性能原因)
- 使用rect()时,HTML5 Canvas的性能非常差
- iPad canvas的性能差到零
- javascript/html canvas的缓慢性能
- Webworker canvas的性能很糟糕
- canvas的性能问题.getImageData + canvas.putImageData
- THREE js 更新纹理生成 Canvas 的最佳性能方式