我的网站是一个非常标准的电子商务网站,它不是一个 JS 支持的独立应用程序或任何东西,它只是一个使用 JS 来做标准东西的网站,以及一些 jquery 插件来做一些事情。
我使用 Chrome 开发工具获取了一些 CPU 配置文件。
我的大部分功能都是低调操作,不超过200ms。
我应该瞄准什么好的基准?200ms 高吗?
我的网站是一个非常标准的电子商务网站,它不是一个 JS 支持的独立应用程序或任何东西,它只是一个使用 JS 来做标准东西的网站,以及一些 jquery 插件来做一些事情。
我使用 Chrome 开发工具获取了一些 CPU 配置文件。
我的大部分功能都是低调操作,不超过200ms。
我应该瞄准什么好的基准?200ms 高吗?
200 毫秒还不错,但您应该尽量将 JavaScript 交互控制在 100 毫秒以下。浏览器 UI 只有一个线程来更新 UI 和执行 JavaScript(一次只能发生一次)。因此,您的 JavaScript 运行时间越长,用户体验就越差。
0.1 秒大约是让用户感觉到系统在瞬间做出反应的极限,这意味着除了显示结果之外不需要特殊的反馈。
1.0 秒大约是用户思维流保持不间断的极限,即使用户会注意到延迟。正常情况下,在大于 0.1 秒小于 1.0 秒的延迟期间不需要特殊的反馈,但用户确实会失去直接对数据进行操作的感觉。
10 秒大约是让用户的注意力集中在对话上的极限。对于较长的延迟,用户将希望在等待计算机完成时执行其他任务,因此应向他们提供反馈,指示计算机预计何时完成。如果响应时间可能变化很大,则延迟期间的反馈尤其重要,因为用户将不知道会发生什么。
——雅各布·尼尔森
有几种模式可以将需要完成的工作分成块,这样您就不会遇到可怕的“无响应脚本”错误。例如使用计时器或网络工作者等,但实现取决于您的代码需要做什么。您正在使用开发工具进行正确的跟踪,以深入了解正在发生的事情!