您好 我用htlm5和JavaScript写了一个画布动画。在Windows浏览器上运行时,动作几乎正常。但是当我构建它并在黑莓移动设备上运行时,运动减少速度可能会快十倍。我该如何表现? 我使用表单输入更多,让用户修改图形的大小。但是只要在文本框中修改了值,就会调整图形的大小。如果仅在单击按钮时如何调整大小?
答案 0 :(得分:1)
问题可能与JS性能或画布绘图有关。执行以下操作:
1)在BB浏览器中运行一次非绘画相关的JS函数或其他任何内容,看看它是如何执行的。一些JS活动需要很长时间。如果没关系,那就是绘画就是问题。
2)BB Canvas标签的问题是清除它并渲染它(即当你停止在BB设备上绘画时将它刷到屏幕上)都很慢。在画布上调用绘画函数的实际行为并不慢。另外 - 如果你正在移动画布,BB呕吐真的很难,它可能会重新分配整个缓冲区,因此它会很慢。
选项:
所有这些可能意味着设计一种全新的绘画形式......不幸的是,BB上的html 5不适合动画。我强烈建议使用常规图像,然后使用常规的旧html div定位移动/替换图像以创建动画。
答案 1 :(得分:0)
您的代码是否已优化?我有一个类似的问题,使用JQuery进行位置查找,大约5000次,花了30秒。在ipad上,我改变了代码
pos2 = jQuery('#n_'+Counter3).position().top; to pos2 = document.getElementById('n_'+Counter3).offsetTop;
现在需要的时间少于10秒。
jQuery可能会检查不同的浏览器,因为有些人会使用偏移,有些人会说top等等。因此每次都可以获得正确的值,而不必担心浏览器(但可能javascript必须执行一堆if语句x 5000)。
在我的情况下,我针对IPad你会选择黑莓,因此优化可以加快速度,而不必担心交叉浏览器的兼容性。