Javascript blackberry webworks上的画布运动太慢
嗨 我使用htlm5和JavaScript编写了一个画布动画。在windows浏览器上运行时,运动几乎正常。但是,当我构建它并在黑莓手机上运行时,运动减少的速度可能会快十倍。我能为那场演出做些什么?Javascript blackberry webworks上的画布运动太慢,javascript,css,html,blackberry,Javascript,Css,Html,Blackberry,嗨 我使用htlm5和JavaScript编写了一个画布动画。在windows浏览器上运行时,运动几乎正常。但是,当我构建它并在黑莓手机上运行时,运动减少的速度可能会快十倍。我能为那场演出做些什么? 而且,我使用表单输入让用户修改图形的大小。但一旦文本框中的值被修改,图形的大小就会调整。只有在单击按钮时我才能调整它的大小?您的代码优化了吗?我在使用JQuery查找位置时遇到了类似的问题,大约5000次,耗时30秒。在ipad上,我将代码从 pos2 = jQuery('#n_'+Counter3
而且,我使用表单输入让用户修改图形的大小。但一旦文本框中的值被修改,图形的大小就会调整。只有在单击按钮时我才能调整它的大小?您的代码优化了吗?我在使用JQuery查找位置时遇到了类似的问题,大约5000次,耗时30秒。在ipad上,我将代码从 pos2 = jQuery('#n_'+Counter3).position().top; to pos2 = document.getElementById('n_'+Counter3).offsetTop; pos2=jQuery('#n'+Counter3).position().top; 到 pos2=document.getElementById('n_'+Counter3).offsetTop; 现在只需不到10秒1秒 jQuery可能会检查不同的浏览器,因为有些使用offset,有些说top等。因此,它每次都能为您提供正确的值,而不必担心浏览器(但可能javascript必须执行一系列if语句x5000)
在我的例子中,我的目标是IPad,你将使用blackberry,因此优化可以加快速度,而不必担心交叉浏览器的兼容性。问题可能与JS性能或画布绘制或两者有关。请执行以下操作: 1) 在BB浏览器中运行一个与绘画无关的JS函数一千次或其他任何操作,看看它是如何执行的。一些JS活动需要很长时间。如果可以的话,那么问题就出在这幅画上 2) BB Canvas标记的问题是清除它和渲染它(即,当您在BB设备上停止绘制时,会将其刷新到屏幕)都很慢。在画布上调用绘画函数的实际操作并不缓慢。另外-如果你移动画布,BB吐得很厉害,可能会重新分配整个缓冲区,所以速度会很慢 选项:
- 降低你的动画速度-很多。如果您每秒多次重新绘制整个小部件-这将不起作用
- 将画布尽可能缩小。一块小小的画布不会有任何问题。一块屏幕大小的画布需要一秒钟才能清除,也许需要1/5秒才能绘制
- 如果必须,不要清除画布的任何部分
所有这些可能意味着设计一种全新的绘画形式。。。不幸的是,BB上的HTML5不适合动画。我强烈建议使用常规图像,然后根据需要使用常规的旧html div定位来移动/替换图像以创建动画。我使用JavaScript在画布上绘制和制作动画。在IE9等浏览器上运行时,运动效果良好。但当试图在黑莓模拟器上运行它时,它几乎是静态的。我只是在使用JavaScript。我使用JavaScript获得画布,然后在画布上绘制并设置动画。