【发布时间】:2011-03-02 16:32:53
【问题描述】:
我正在编写一个在画布上操作视频的 html5 应用程序。 我还在它上面显示了一个自定义(自绘)鼠标光标。 为了更新我的应用程序,我调用 setInterval 函数将内容绘制到画布上。
在处理视频时,我需要:非常高的刷新率 + 大量的处理器时间来绘制。 (每帧约 50 毫秒)。
我的绘图功能导致我的鼠标功能饿死。 (这是我可以接受的)。
但是...在饥饿完成后,它会响应旧事件。鼠标最多可能需要 3 帧才能捕捉到,以便我可以在正确的位置渲染它。这意味着您可以在停止移动鼠标后看到光标“爬行”。
有没有办法让 onmousemove 事件比我的 setInterval(drawFunction) 具有更高的优先级?
在绘图功能中,我可以“询问”是否有待处理的鼠标事件,并撤销我当前的绘图调用吗?
我可以使用其他一些技巧吗? (我可以在 webWorker 中绘制后台缓冲区,但据我了解,这只是线程抽象 [线程不是并发的])
【问题讨论】:
-
标题错误。这与 HTML5 无关,与 javascript 以及可能仅与画布有关。
-
@Rob: Canvas 是一个 HTML5 功能...
-
@the_drow - 是的,但问题很可能是关于 js,也许是 html5 的一个元素,而不是全部。
-
@Rob:更好?或者你想推荐另一个标题?
-
canvas 不是 html5 功能,它有自己的规范 ;)
标签: javascript html canvas