Chrome 开发者工具 Performances 面板里的参数解读

简介: Chrome 开发者工具 Performances 面板里的参数解读

frame per second - FPS


每当我们在 FPS 上方看到红色条时,就意味着帧速率下降得太低,当 FPS 降到 60 以下时,会严重影响用户体验。 一般来说,绿色条越高,FPS 越高。


98d0d1eb7fdcb6ed38a218525cadfe68_695210ca7ca74bd175834a8c0ae89fe3.png


82d4845c429861b56035e6321508b0a3_2a46c4fdbc3da10520e8eac09bc5c4c8.png


在 FPS 图表下方,可以看到 CPU 图表。 CPU 图表中的颜色对应于“性能”面板底部“摘要”选项卡中的颜色。 如果 CPU 图表充满各种颜色,意味着 CPU 在录制过程中已达到极限。 每当您看到 CPU 长时间用尽时,这就是寻找减少工作量的方法的提示。因为只有无色才代表 CPU 处于 Idle 状态。


ee0326589c246a75a485eab877bb0216_bfc3dea54016baafb25d29ae209151e9.png


将鼠标悬停在 FPS、CPU 或 NET 图表上。 DevTools 会及时显示该页面的屏幕截图。 左右移动鼠标以进行重播。 这称为 scrubbing,它对于手动分析动画的进程很有用。


367aeae844d0699eb64e40673dcbf92a_1a0fba94943ae93df1e2d9198646ecad.png


展开 Main 三角符号。 DevTools 向我们显示主线程上活动随时间变化的火焰图。 x 轴表示随时间推移的记录。 每个条代表一个事件。 条形越宽意味着该事件花费的时间越长。 y 轴表示调用堆栈。 当您看到事件堆叠在一起时,这意味着上层触发了下层事件。


596ea1b5a3ae104b875fef09f445a28b_7de54df3d4ce9a9440ea9d6340045415.png


下面这行代码导致了 force layout 的发生。


5eb5ffcf689b4f5b174bbd980d9f5959_d14b8295c48d6de13094ebf1edd57ade.png


这段代码的问题在于,在每个动画帧中,它会更改每个方块的样式,然后查询每个方块在页面上的位置。 因为样式改变了,浏览器不知道每个方块的位置是否改变了,所以它必须重新布局方块来计算它的位置。


什么是 Web 应用开发中的 forced reflows?


在 Web 应用开发中,Forced Reflow 是指由于对文档元素进行了计算尺寸、布局或渲染等操作,导致浏览器强制重新计算文档的布局和渲染流程的过程。


Forced Reflow 是 Web 应用性能瓶颈之一,因为它会影响页面的渲染速度和用户交互体验。浏览器通常需要进行大量计算和绘制才能完成 Forced Reflow,这可能会导致页面卡顿、滚动不流畅、动画效果不佳等问题。


为了减少 Forced Reflow 的影响,可以采取以下措施:


  1. 减少 DOM 操作:DOM 操作是触发 Forced Reflow 的主要原因之一。因此,尽可能减少 DOM 操作,例如缓存元素、使用事件委托等。


  1. 避免频繁修改样式:修改元素的样式也可能导致 Forced Reflow。因此,尽可能减少对元素样式的修改,例如将多个样式属性合并为一个 CSS 类,使用 CSS3 动画代替 JavaScript 动画等。


  1. 避免强制同步布局:在获取元素的尺寸或位置等属性时,浏览器需要进行计算和布局操作。如果频繁获取这些属性,可能会导致 Forced Reflow。因此,尽可能避免使用会强制同步布局的属性和方法,例如 offsetTop、getComputedStyle() 等。


  1. 使用批量操作:将多个操作合并为一个批量操作,例如使用 DocumentFragment、requestAnimationFrame() 等。


通过以上措施可以有效减少 Forced Reflow 的次数,提高页面性能和用户体验。


相关文章
|
2月前
|
Web App开发 缓存 监控
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
|
3月前
|
Web App开发 存储 前端开发
深入探索Chrome开发者工具:开发者的利器
Chrome DevTools是Chrome浏览器内置的网页开发与调试神器,包含元素检查、网络请求分析、性能监控和JavaScript调试等功能。可通过快捷键F12或菜单打开。主要面板有:Elements(查看编辑HTML/CSS),Console(运行JS代码及查看日志),Network(分析网络请求),Performance(优化网页性能)和Application(管理应用数据)。高级功能包括断点调试、网络限速和屏幕模拟,助力高效开发和调试。
49 0
|
17天前
|
Web App开发 监控 前端开发
重磅! Chrome开发者工具入门
重磅! Chrome开发者工具入门
|
2月前
|
Web App开发 存储 缓存
Chrome开发者工具学习
Chrome开发者工具学习
|
4月前
|
Web App开发 前端开发 JavaScript
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
关于 Angular template 文件在 Chrome 开发者工具调试器里的断点问题
|
4月前
|
Web App开发 缓存 JavaScript
Chrome 开发者工具 Request content was evicted from inspector cache
Chrome 开发者工具 Request content was evicted from inspector cache
|
26天前
|
Web App开发
Chrome——谷歌浏览器chrome如何模拟其他客户端
Chrome——谷歌浏览器chrome如何模拟其他客户端
66 1
Chrome——谷歌浏览器chrome如何模拟其他客户端
|
2天前
|
Web App开发 数据采集 存储
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
本文探讨了如何利用Chrome DevTools Protocol (CDP) 与 Selenium WebDriver 提升浏览器自动化效率,结合代理IP技术高效采集微博数据。通过CDP,开发者可直接操作浏览器底层功能,如网络拦截、性能分析等,增强控制精度。示例代码展示了如何设置代理IP、cookie及user-agent来模拟真实用户行为,提高数据抓取成功率与稳定性。适用于需要频繁抓取互联网数据的应用场景。
WebDriver与Chrome DevTools Protocol:如何在浏览器自动化中提升效率
|
18天前
|
Web App开发 JSON 安全
【跨域难题终结者】:一键解锁Chrome浏览器神秘设置,彻底告别开发阶段的跨域烦恼!
【8月更文挑战第20天】跨域是前端开发常遇难题,尤其在前后端分离项目中。浏览器因安全考量会阻止不同源间的请求。本文对比CORS、JSONP、代理服务器等解法,并介绍开发阶段通过调整Chrome设置来临时禁用跨域限制的方法,提供启动Chrome及使用`fetch`API示例,适合快速测试。但请注意这不适用于生产环境,存在一定安全风险。
53 1
|
20天前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题

热门文章

最新文章

下一篇
DDNS