三个JS鼠标输入滞后

时间:2017-01-06 02:06:11

标签: javascript three.js mouseevent

我正在创建一个游戏,其中鼠标输入延迟应该是最小的。但是我注意到当你将标签替换为另一个窗口(例如记事本)并返回时,鼠标位置似乎有很大的延迟。当我刷新页面时,它将再次正常工作。这可能是THREEJS独有的问题,但我不确定。有时甚至在我刷新后会滞后,但是ALT + TAB似乎总是会引发我的问题。

以下代码使对象跟随鼠标来说明问题:

function onMouseMove(event) {
    event.preventDefault();
    mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
    mouse.y = - (event.clientY / window.innerHeight) * 2 + 1;
    var vector = new THREE.Vector3(mouse.x, mouse.y, 0.5);
    vector.unproject( camera );
    var dir = vector.sub( camera.position ).normalize();
    var distance = - camera.position.z / dir.z;
    var pos = camera.position.clone().add( dir.multiplyScalar( distance ) );
    mouseMesh.position.copy(pos);
    mouseMesh.position.set(event.clientX, event.clientY, 0);
};

这是一个小提示,显示我遇到的问题:https://jsfiddle.net/atwfxdpd/10/

要复制问题,只需运行小提琴。按Alt + Tab键切换到计算机上的任何其他窗口。点击所说的窗口。然后回来。

现在,当您移动鼠标时,对象落后于它。有时它也是在你第一次运行它的时候做的。

我的Chrome版本是:版本55.0.2883.87米(64位)(最新) 我在4K屏幕上。所以这可能与它有关。

编辑:调整大小似乎也会导致问题

0 个答案:

没有答案