![前端性能揭秘](https://wfqqreader-1252317822.image.myqcloud.com/cover/216/46418216/b_46418216.jpg)
使用DevTools
模拟网速
虽然此时页面可以正常运转,但是我们对其性能仍然一无所知。首先需要明确的是,一个页面并非能够快速打开就说明其具有较好的性能。我们通常是在本地和比较好的网络条件下打开页面的,并且大部分内容都有缓存。如果用户在 3G 网络下打开页面,看到的情况是怎样的呢?DevTools针对这种情况提供了网速模拟功能,可以让用户模拟在不同的网络条件下打开页面。
在上面显示Hello World的页面上右击并选择“检查”命令,在打开的DevTools中选择Network选项卡,默认选择No throttling命令,此处选择Fast 3G命令,如图1-2所示。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_3.jpg?sign=1738850809-gVUvYvKjUwxWzsI24tzxw9Z39TMteCdp-0-f63b332aef5235bf2404e38b3fbcb186)
图1-2 模拟Fast 3G网络
需要注意的是,该功能在不使用的情况下应该关闭,否则会对网速造成比较大的影响。
禁用缓存
同样,在调试性能时通常不希望受到缓存的影响。在DevTools中可以通过勾选Disable cache复选框关闭缓存,如图1-3所示。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_4.jpg?sign=1738850809-fJiNqA740qlQktMfDnoAwvxwUvTAgzVV-0-2bd8aa37e2c5c6d93229a8030860d756)
图1-3 关闭缓存
截屏
DevTools还提供了获取过程截屏的能力,用户可以直观地看到页面的渲染过程。切换至Network面板,点击Setting按钮后勾选Capture screenshots复选框,这样在刷新页面的同时浏览器会自动把关键帧的截屏保留下来,如图1-4所示。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_5.jpg?sign=1738850809-EU8WchlBfB20ds10YBclibImgUzVvBoO-0-6b53539dd0ff96cac47b4c887f427d79)
图1-4 截屏
刷新页面
在完成上述操作后就可以刷新当前页面,如图1-5[1]所示。
首先,可以看到关键帧的截屏,从时间上来看,600ms左右才出现Hello World的字样,1.21s仅显示了一部分图像,1.23s完成整个页面的显示。另外,从下面的网络详情中可以看到整个网络请求的过程,在完成api.jsonp.js的请求后才开始加载图片。
事实上,一般在线页面还会有更多的耗时,但这里为了可以在本地演示就忽略了这个因素。
![](https://epubservercos.yuewen.com/D9D9AD/25638844509204006/epubprivate/OEBPS/Images/txt002_6.jpg?sign=1738850809-OABNMuNuMjfYe5L26u5Ymr0hLewmSezk-0-bf32b837206a18a25a6c9f7df3ff76fe)
图1-5 刷新当前页面