应用程序中相对浏览器性能的启发式算法

时间:2012-03-26 21:06:36

标签: javascript performance

当用户拖动靠近窗口边缘的元素时,我有一些滚动页面的Javascript。有一个像这样的功能(简化):

var scroll = function() {
    var scrollTop = $myElement.scrollTop();
    $myElement.scrollTop(scrollTop += delta);
    setTimeout(scroll, 25);
}

我在旧浏览器上遇到了性能问题,我可以通过将scroll()函数的分辨率从25(如上所示)降低到100左右来减轻它们。

如何检查浏览器是否较慢并降低分辨率?

我宁愿避免用户代理嗅探。

1 个答案:

答案 0 :(得分:0)

人类does not notice "slowness" up until 200-300ms,提升你的计时器。没有人会在合理范围内看到这种滞后。

另外,推动计时器是那么快也是问题的原因。老broswer JS并不那么快。尝试打开一个任务管理器,并在你快速计时器拖动时看到CPU上的尖峰。