【问题标题】:300 ms delay on three.js touch eventsthree.js 触摸事件的 300 毫秒延迟
【发布时间】:2013-08-08 08:33:00
【问题描述】:

我正在开发一个 three.js 项目,在该项目中我使用 TrackballControls 来启用触摸事件。但是我发现我的代码不能正常工作。我还评估了一些工作示例,例如http://threejs.org/examples/canvas_geometry_cube.html,发现在开始时有 300 毫秒的小延迟。但它确实对我的项目产生了很大影响。我怎样才能消除这 300 毫秒的延迟?

注意:我在我的项目中同时使用单点触控和多点触控。

我了解了 fastclick 的概念 (https://github.com/ftlabs/fastclick),但对我来说它似乎不支持多点触控。如果我错了,请纠正我。

【问题讨论】:

  • 300 毫秒延迟是移动应用程序或移动网站中的一个已知问题。您是否在移动设备上对其进行测试?
  • 是的...我正在 Android Jellybean 设备上测试它...

标签: javascript three.js webgl


【解决方案1】:

我记得听说过这件事:http://code.google.com/p/chromium/issues/detail?id=133391

根据链接的问题,在 Android 版 Chrome 中,延迟 300 毫秒的原因是识别双击缩放手势。随着那里(2012 年 10 月)所做的更改,如果 页面无法缩放,则不会施加延迟。因此,至少在这种情况下,您需要做的是设置页面meta viewport 选项,以便页面适合设备屏幕并且不会缩放。

(免责声明:我自己从未尝试过;我只听说过一次。我不知道当前发布的 Android 版 Chrome 中是否存在这种行为,也不知道其他移动浏览器是否存在,例如股票 Android 浏览器,做同样的事情。)

(其他免责声明:我为 Google 工作,但我不在 Chrome 上工作,我在这里不代表 Google 回答。)

【讨论】:

  • ok kevin...让我试一下...但我可能还需要在 mozilla 上使用 firefox...
【解决方案2】:

终于找到方法了……我是在场景中使用touch拖拽一个物体……实际问题如下……touch事件的300ms延迟组合起来形成了很大的延迟...为了克服这个问题,我给出了一个条件,以便以 300 毫秒的延迟进行触摸移动事件...即,如果一个事件被接受,下一个事件将是 300 毫秒后的事件...并且它工作得很好......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2017-07-31
    • 2015-07-12
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多