当用户拖动靠近窗口边缘的元素时,我有一些滚动页面的Javascript。有一个像这样的功能(简化):
var scroll = function() {
var scrollTop = $myElement.scrollTop();
$myElement.scrollTop(scrollTop += delta);
setTimeout(scroll, 25);
}
我在旧浏览器上遇到了性能问题,我可以通过将scroll()
函数的分辨率从25(如上所示)降低到100左右来减轻它们。
如何检查浏览器是否较慢并降低分辨率?
我宁愿避免用户代理嗅探。
答案 0 :(得分:0)
人类does not notice "slowness" up until 200-300ms,提升你的计时器。没有人会在合理范围内看到这种滞后。
另外,推动计时器是那么快也是问题的原因。老broswer JS并不那么快。尝试打开一个任务管理器,并在你快速计时器拖动时看到CPU上的尖峰。