在Chrome时间轴分析工具中,“系统”类别的记录是什么意思?

knsnq2tg  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(103)

我试图了解如何通过分析Chrome开发工具中的时间轴数据来提高D3.js应用程序(数据的交互式可视化)的速度。
我拖动数据条,它们在mousemove事件中移动(SVG转换)。
时间轴告诉我,50%的CPU时间被“系统”进程使用(其余的是“脚本”,“渲染”,“绘画”和“空闲”)。
什么是“系统”,如果它需要50%的时间,会有什么问题?
顺便说一句,如果我是通过按住鼠标右键而不是左键拖动,响应要好得多,“系统”只使用了大约20%的时间。
2020注意:在旧版Chrome中,“系统”类别被命名为“其他”。

6rvt4ljy

6rvt4ljy1#

两年前我也问过同样的问题。我不知道灰条分别代表什么 * 系统 * 类别。
很难找到一个官方的答案,因为Chrome DevTools Docs只说了**“没有被DevTools检测的活动”**。但由于存在new documentation,因此删除了此语句。
一些有用的信息:Chrome Dev Tools: Timeline - White Bars
因此,我查看了Chromium项目,并搜索了devtools代码以寻找答案。我发现 System 类别包含了所有不属于 LoadingScriptingRenderingPaintingGPU 类别的活动:参见list of all record types
根据将类型分配给类别的another fragment of Chromium's source过滤此列表,我们可以看到时间轴将未分配或分配给 System 类别的所有记录类型显示为 *System * 类别中的灰色条:

  • ActivateLayerTree
  • 提交负载
  • CPU配置文件
  • 解码LazyPixelRef
  • DisplayItemListSnapshot
  • DrawLazyPixelRef
  • ImplSideFling
  • InputLatencyMouseMove
  • InputLatencyMouseWheel
  • JSSample
  • JitCodeAdded
  • 简体中文
  • LatencyInfoFlow
  • LayerTreeHostImplSnapshot
  • 布局失效跟踪
  • LazyPixelRef
  • MarkLCP无效
  • 需求开始框架已更改
  • 图片快照
  • 配置文件
  • 方案
  • 栅格化
  • 资源标记缓存
  • ScheduleStyleInvalidationTracking
  • SetLayerTreeId
  • StreamingCompileScript
  • StyleInvalidator失效跟踪
  • StyleRecalcInvalidationTracking
  • 任务
  • TracingSessionIdForWorker
  • TracingStartedInPage
  • UpdateCounters
  • V8执行
  • V8样本

2020注意:在旧版Chrome中,“系统”类别被命名为“其他”。

相关问题