zio*_*iom 7 javascript performance google-chrome google-chrome-devtools
我正在分析网页性能。网页包含一个“pointermove”事件的处理程序,用于更改 HTMLElement(总共大约 10 个 DOM 后代)的“transform:translate(x,y)”。
\n在 Chrome 浏览器中,在特定条件下,“pointermove”不会以非常高效的方式处理 - 在“pointermove”期间,会发生延迟和转换属性的“不稳定”变化。
\n相反,在 Firefox 中,一切都是高性能的(在这些特定条件下)。
\n在 Chrome 的性能分析中,我在“pointermove”期间检测到很长的“任务”。它说网页 JS 函数(和渲染)大约花费了 1 毫秒,但“系统(自身)”花费了 128 毫秒。
\n没有解释什么任务正在做什么以及它是什么?什么是“系统(自我)”以及为什么花了这么长时间?如何化解这种“乱七八糟”的行为呢?
\n我期望对“pointermove”事件进行高性能处理,就像在 Firefox 中一样。
\n在 Chrome 中,“pointermove”是通过一些长时间运行的“系统(自身)任务”来处理的,这会导致糟糕的处理和不稳定的感觉(延迟)。
\ncode is here \xe2\x86\x98\nRun Code Online (Sandbox Code Playgroud)\n\n
我的 Notes AngularJS 应用程序也遇到了类似的问题,该应用程序的文本区域内有大文本。移动光标时,性能选项卡花费了约 600 毫秒System (self),其余时间为 0 或 1 毫秒。
我本来打算创建一个问题,但发现了这个问题,然后想向 Chromium 报告错误。但后来我检查了 Chrome 使用了多少内存。我打开了很多带有大量重型应用程序的选项卡。例如多个 YouTube 链接、MS Teams 等以及隐藏在组中的页面。我打开了任务管理器并杀死了一些内存最多的进程/选项卡。现在我的应用程序运行良好。
我可能会达到浏览器内存的限制。请注意,我有 16GB,在该系统上运行 Firefox(运行 Chrome)不是问题。
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |