是否有标准(接受/简单/高性能)方法来确定客户端机器呈现 javascript 的速度?
当我在其他选项卡上运行网络应用程序(视频等)时,我的 JS 动画会慢到爬行。
如果我能从我的 JS 中检测到缓慢,我会使用更简单的动画来提供更好的用户体验。
更新:
为所有人删除动画并不是答案。我说的是最简单的动画,它会根据浏览器/计算机而结结巴巴。如果我能检测到缓慢的程度,我会简单地禁用它们。
这与具有动态图形质量的视频游戏相同:您希望取悦使用旧电脑的人,而不是惩罚那些拥有额外处理能力的人。
是否有标准(接受/简单/高性能)方法来确定客户端机器呈现 javascript 的速度?
当我在其他选项卡上运行网络应用程序(视频等)时,我的 JS 动画会慢到爬行。
如果我能从我的 JS 中检测到缓慢,我会使用更简单的动画来提供更好的用户体验。
更新:
为所有人删除动画并不是答案。我说的是最简单的动画,它会根据浏览器/计算机而结结巴巴。如果我能检测到缓慢的程度,我会简单地禁用它们。
这与具有动态图形质量的视频游戏相同:您希望取悦使用旧电脑的人,而不是惩罚那些拥有额外处理能力的人。
我知道这个问题很老,但我只是偶然发现了它。最简单的方法是执行一个长循环并测量开始和结束时间。这应该让您对机器的 Javascript 性能有所了解。
请记住,这可能会延迟页面加载,因此您可能希望将结果存储在 cookie 中,因此不会在每次访问页面时进行测量。
就像是:
var starttime = new Date();
for( var i=0; i<1000000; i++ ) ;
var dt = new Date() - starttime;
希望这可以帮助。
一个技巧是禁用那些隐藏的动画。如果它们位于另一个未聚焦的选项卡上,那么保持它们动画有什么用?
另一个是将动画保持在最低限度。我假设您在 DOM 上,并且 DOM 操作很昂贵。也将它们保持在最低限度。
我在某处得到的一个提示是,如果您正在使用图像动画操作,请考虑使用画布代替,这样您就不会在 DOM 上进行操作。
另外,考虑渐进增强。保持您的功能简单,并逐步处理复杂的事情。每次添加新内容时,都使用简单的功能作为基准。这样,您可以轻松确定导致问题的原因并相应地修复它。
您应该首先解决的主要问题是为什么它很慢,而不是当它很慢时。