为什么浏览器在输入和响应之间有很大的延迟?

时间:2017-06-11 14:17:25

标签: javascript performance browser

我使用Arduino控制器来测量浏览器的响应时间。 我测量从按键到屏幕上的视觉响应的时间(具体来说,在屏幕上显示白色方块)。

当使用本机应用程序(OpenSesame)时,考虑到帧速率,我得到的平均延迟为12ms。 使用浏览器时,我会在好的情况下(Chrome)大约40ms,在更糟糕的情况下大约需要65ms(Firefox,IE)。

在devtools中,响应看起来发生在一个帧内(小于17ms)。

我在浏览器中使用的代码非常简单 - 只是一个在keydown上将类应用于body的eventListener,并在100ms后删除它。

CSS:

body {background:#000}
.show {background:#fff}

JS:

document.addEventListener('keydown', e => {
    document.body.classList.add('show');
    setTimeout(() => document.body.classList.remove('show'), 100);
});

有谁知道为什么会这样? 有没有办法改善响应时间?

0 个答案:

没有答案