tem*_*def 5 javascript html5 canvas redraw
这个问题与这个旧问题有关,但在开始对我的代码进行重大更改之前,我想确定我得到了正确的答案.
我正在开发一个计算密集型的JavaScript程序,需要不断更新HTML5画布中的图像来绘制动画.正如现在所写,代码在紧密循环中绘制动画的所有帧而不将控制权返回给浏览器,这意味着最终显示的内容只是最终帧.我很确定解决这个问题的唯一方法是将动画代码拆分成较小的部分,可以通过超时事件重新调用.它是否正确?或者有没有办法迫使画布在某个点上显示其内容,即使在一个紧凑的JavaScript循环中间?
我很确定解决这个问题的唯一方法是将动画代码拆分成较小的部分,可以通过超时事件重新调用.它是否正确?
这是对的.
Javascript是单线程的,因此在执行逻辑时无法执行任何其他操作.您唯一的选择是通过将逻辑分成微块来"模拟"线程,以便在超时时执行.
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |