在前端开发中,性能优化是一个非常重要的方面。如果我们的网站或应用程序加载速度慢,用户体验就会受到影响,甚至可能导致用户流失。因此,我们需要了解如何使用工具来检测和解决前端性能问题。在本文中,我将介绍如何使用谷歌浏览器调试器的Performance选项卡来发现前端性能问题。
性能(Performance)选项卡
点击左上角的录制按钮,开始记录性能数据。
在网站或应用程序中执行一些操作,例如加载页面、点击按钮等。
停止录制并查看性能数据。可以看到各种性能指标,例如加载时间、CPU使用率、内存使用率等。
分析性能数据并找出潜在的性能问题。例如,如果加载时间很长,可能是因为页面中有太多的资源需要加载,或者因为服务器响应时间很慢。
最上面出现一条红线,表示这里有性能问题,红线间是断开的,没小段表示从js的执行到最终渲染这段时间,正常情况这段时间应该跟帧率相同约为16.67毫秒(一秒钟60帧),当这段时间大于16.7毫秒用户就会感觉到卡;
红线下面的波形图,黄色呢代表js 的执行,紫色代表渲染的执行,绿色代表浏览器绘制执行,其中紫色占面积最大,说明造成的性能问题主要发生在渲染过程中,在最下面的Summary中同样可以看出Rendering占用时间最长;
再往下是屏幕快照,勾选Screenshots时显示。
下面还有很多子菜单,最常用的是Main,它表示浏览器的渲染主线程,里面每一个方格代表一个任务(横向表示一个个任务,纵向表示调用栈),红色三角形代表这个任务运行时间过长。
用鼠标点击上面时间线部分会出现两个滑块(再双击查看全部),通过调整滑块可以进入某一个时间的切面详细观察当前任务详情。Animation Frame Fired是window.requestAnimationFrame(callback),Funcation Call是requestAnimationFrame的callback,callback执行的是app.update,现在基本上找到了问题出现的位置
点击app.update,再点击Call Tree(执行树)查看耗时详情,找到耗时最多的位置,点击后面链接可以直接定位到耗时代码。