javascript - 黑莓网络上的 Canvas Action 太慢

标签 javascript css html blackberry

嗨 我使用 htlm5 和 JavaScript 编写了一个 Canvas 动画。在我的 Windows 浏览器上运行时,运动几乎是正常的。但是当我构建它并在黑莓手机上运行时,运动减少的速度可能会快十倍。我该怎样做才能表现出来? 更重要的是,我使用表单输入让用户修改图形的大小。但是一旦在文本框中修改了值,图形就会调整大小。如何仅在单击按钮时调整它的大小?

最佳答案

问题可能与 JS 性能或 Canvas 绘图或两者有关。执行以下操作:

1) 在 BB 浏览器中运行一个非绘画相关的 JS 函数一千次或其他任何东西,看看它的表现如何。一些 JS activites 需要很长时间。如果没问题,那就是画的问题。

2) BB Canvas 标签的问题在于清除它和渲染它(即当您停止在 BB 设备上绘画时将其刷新到屏幕上)都很慢。在 Canvas 上调用绘画函数的实际行为并不慢。另外 - 如果您正在移动 Canvas ,BB 会吐得很厉害,它可能会为此重新分配整个缓冲区,所以速度会很慢。

选项:

  • 放慢你的动画速度 - 很多。如果您每秒多次重新绘制整个小部件 - 这将不起作用。
  • 尽可能缩小 Canvas 。一个小 Canvas 不会有问题。屏幕大小的 Canvas 需要一秒钟的时间来清除,可能需要 1/5 秒的时间来绘制。
  • 如有必要,请勿清除 Canvas 的任何部分。

所有这一切可能意味着设计一种全新的绘画形式……不幸的是,BB 上的 html 5 不适合动画。我强烈建议使用常规图像,然后根据需要移动/替换图像,使用常规的旧 html div 定位来创建动画。

关于javascript - 黑莓网络上的 Canvas Action 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746802/

相关文章:

Html 多行表 (rowspan) - 如何以正确的方式斑马纹?

javascript - CSS 图像换行问题 - 取决于浏览器缩放级别

java - 什么正则表达式将与 Java 的 "replaceAll"函数一起操作,以从 html 字符串中删除 <p> html 标签及其内容?

html - 在网格中并排放置可点击的 DIV。最后一个 DIV 出现问题

Javascript parseInt() 在包含数字的字符串文字上返回 NaN

JavaScript 日期创建在 IE 中失败

html - 调整导航栏+页脚大小时出现故障

javascript - 通过 javascript 根据 Active Directory 获取当前经过身份验证的用户

javascript - 如何仅从 moment 对象中提取日期

jquery - 当所选元素具有新类时如何更改其他元素CSS