【发布时间】:2012-06-14 10:51:28
【问题描述】:
我们正在使用画布开发街机(大量动作和速度)浏览器 2d 游戏。
有时我们的测试播放器会向我们报告存在延迟:在键控后播放器仍在移动 5-10 像素。
我已经挖掘了这个问题,你可以看到自己延迟http://jsfiddle.net/C4ev3/7/(尽可能快地尝试 keydown/up any key)。我的结果是从 70 到 120 毫秒。我认为这很多。 (仅供参考,我们的网络延迟为 10-20 毫秒)。
任何想法如何减少这种延迟?
upd 我注意到在好的硬件上这个延迟低于 30-40 毫秒。但我正在 core2duo、winxp、chrome 19 上进行测试——它不是带有 IE6 的 P4 :)
【问题讨论】:
-
无论如何我们可以看到更多的代码?我怀疑它是导致问题的关键事件。它甚至可能与使用 jQuery 创建速度很重要的游戏有关。如果是客户端,网络延迟也不会影响游戏。
-
如果我无限按下按键,我有 25-33
-
但是没有检测到我的向下/向上箭头...
-
我最少需要 24-32 毫秒。真的,我不能更快地按空格键。
-
我知道,但我通过快速将其保持在 16 毫秒来进行管理,在正常游戏前大约为 54 毫秒,但除了更新控制台中的值之外,没有其他任何事情会导致延迟(什么是?半毫秒?)您应该发布带有您使用的画布重绘的代码,以便我们可以看到阻塞在哪里......我认为是您的画布重绘导致延迟。
标签: javascript canvas keyboard keyboard-events