我使用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);
});
有谁知道为什么会这样? 有没有办法改善响应时间?