在不失去响应性的情况下绘制大量画布元素
Drawing on lots of canvas elements without losing responsiveness
我正在一个接一个地绘制许多画布元素。这些函数在计算上很昂贵。如果有15个画布元素,在所有画布绘图完成之前,页面不会显示任何内容。这将导致用户在浏览器上收到脚本执行时间过长的消息。在此过程中,页面仍然没有响应。
我需要关于如何解决以下两个问题的建议
1)我想显示画布一旦它完全绘制。我不希望用户在15个画布元素上等待绘图完成。
2)我想让页面响应,而计算正在发生
谢谢你的建议。我解决了显而易见的问题。Javascript是单线程的,我一个接一个地在画布上作画,没有任何间隙。这使得浏览器忙于计算坐标,并且只有在所有计算完成后才更新页面。为了解决这个问题,我创建了一个函数,一次只能在一个画布上绘图。这个函数反过来使用setTimeout在250毫秒后调用自己。这样,浏览器就可以在两个连续的画布绘图之间获得时间,以更新最近绘制的画布。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 在 jquery 可排序后定义
- 元素
- 元素的索引
- 元素
- “<元素/>”到“<元素> 元素>”是否有效
- d3.js:水平居中
元素的父元素'元素 - Polymer 1.0不能访问嵌套模板中的元素.元素
- 为什么是n't '元素a
元素