chrome-performance页面性能分析使用教程

运行时性能表现(runtime performance)指的是当你的页面在浏览器运行时的性能表现,而不是在下载页面的时候的表现。这篇指南将会告诉你怎么用Chrome DevTools Performance功能去分析运行时性能表现。在RAIL性能评估模型下,你可以在这篇指南中可以学到怎么去用这个performance功能去分析Response, Animation, 以及 Idle 这三个性能指标。

一、模拟移动设备的CPU

移动设备的CPU一般比台式机和笔记本弱很多。当你想分析页面的时候,可以用CPU控制器(CPU Throttling)来模拟移动端设备CPU。

1在DevTools中,点击 Performance 的 tab。

2确保 Screenshots checkbox 被选中

3点击 Capture Settings(??)按钮,DevTools会展示很多设置,来模拟各种状况

4对于模拟CPU,选择2x slowdown,于是Devtools就开始模拟两倍低速CPU

5在DevTools中,点击 Record 。这时候Devtools就开始录制各种性能指标

6进行快速操作,点击stop,处理数据,然后显示性能报告

二、分析报告

FPS(frames per second)是用来分析动画的一个主要性能指标。让页面效果能够达到>=60fps(帧)/s的刷新频率以避免出现卡顿。能保持在60的FPS的话,那么用户体验就是不错的。

为什么是60fps?

我们的目标是保证页面要有高于每秒60fps(帧)的刷新频率,这和目前大多数显示器的刷新率相吻合(60Hz)。如果网页动画能够做到每秒60帧,就会跟显示器同步刷新,达到最佳的视觉效果。这意味着,一秒之内进行60次重新渲染,每次重新渲染的时间不能超过16.66毫秒。

三、界面介绍

从上到下分别为4个区域

1:具体条,包含录制,刷新页面分析,清除结果等一系列操作

2:overview总览图,高度概括随时间线的变动,包括FPS,CPU,NET

3:火焰图,从不同的角度分析框选区域 。例如:Network,Frames, Interactions, Main等

4:总结区域:精确到毫秒级的分析,以及按调用层级,事件分类的整理

【Overview】

  Overview 窗格包含以下三个图表:

  1、FPS。每秒帧数。绿色竖线越高,FPS 越高。 FPS 图表上的红色块表示长时间帧,很可能会出现卡顿

  2、CPU。 CPU 资源。此面积图指示消耗
CPU 资源的事件类型

  3、NET。每条彩色横杠表示一种资源。横杠越长,检索资源所需的时间越长。 每个横杠的浅色部分表示等待时间(从请求资源到第一个字节下载完成的时间)

  可以放大显示一部分记录,以便简化分析。使用 Overview 窗格可以放大显示一部分记录。
放大后,火焰图会自动缩放以匹配同一部分

  选择部分后,可以使用 W、A、S 和 D 键调整您的选择。 W 和 S 分别代表放大和缩小。 A 和 D 分别代表左移和右移

【火焰图】

  在火焰图上看到一到三条垂直的虚线。蓝线代表 DOMContentLoaded 事件。 绿线代表首次绘制的时间。
红线代表 load 事件

  在火焰图中选择事件时,Details 窗格会显示与事件相关的其他信息

【总结区域】

蓝色(Loading):网络通信和HTML解析

黄色(Scripting):JavaScript执行

紫色(Rendering):样式计算和布局,即重排

绿色(Painting):重绘

灰色(other):其它事件花费的时间

白色(Idle):空闲时间

Loading事件


事件


描述


Parse HTML


浏览器执行HTML解析


Finish Loading


网络请求完毕事件


Receive Data


请求的响应数据到达事件,如果响应数据很大(拆包),可能会多次触发该事件


Receive Response


响应头报文到达时触发


Send Request


发送网络请求时触发

Scripting事件


事件


描述


Animation Frame
Fired


一个定义好的动画帧发生并开始回调处理时触发


Cancel Animation
Frame


取消一个动画帧时触发


GC Event


垃圾回收时触发


DOMContentLoaded


当页面中的DOM内容加载并解析完毕时触发


Evaluate Script


A script was
evaluated.


Event


js事件


Function Call


只有当浏览器进入到js引擎中时触发


Install Timer


创建计时器(调用setTimeout()和setInterval())时触发


Request Animation
Frame


A
requestAnimationFrame() call scheduled a new frame


Remove Timer


当清除一个计时器时触发


Time


调用console.time()触发


Time End


调用console.timeEnd()触发


Timer Fired


定时器激活回调后触发


XHR Ready State Change


当一个异步请求为就绪状态后触发


XHR Load


当一个异步请求完成加载后触发

Rendering事件


事件


描述


Invalidate layout


当DOM更改导致页面布局失效时触发


Layout


页面布局计算执行时触发


Recalculate style


Chrome重新计算元素样式时触发


Scroll


内嵌的视窗滚动时触发

Painting事件


事件


描述


Composite Layers


Chrome的渲染引擎完成图片层合并时触发


Image Decode


一个图片资源完成解码后触发


Image Resize


一个图片被修改尺寸后触发


Paint


合并后的层被绘制到对应显示区域后触发

原文地址:https://www.cnblogs.com/ranyonsue/p/9342839.html

时间: 2024-10-12 00:21:15

chrome-performance页面性能分析使用教程的相关文章

页面性能分析-Chrome Dev Tools

一.分析面板介绍 进行页面性能快速分析的主要是图中圈出来的几个模块功能: Network : 页面中各种资源请求的情况,这里能看到资源的名称.状态.使用的协议(http1/http2/quic...).资源类型.资源大小.资源时间线等情况 Performance : 页面各项性能指标的火焰图,这里能看到白屏时间.FPS.资源加载时间线.longtask.内存变化曲线等等信息 Memory : 可以记录某个时刻的页面内存情况,一般用于分析内存泄露 JavaScript Profiler : 可以记

Inside MSXML Performance(MSXML性能分析) (7)

纳羌良汛浊ZBR糖晕赌勒http://weibo.com/p/1001604188620746553493?Z=12/17.28/Z=7 庞菏仁轮麓UYQ悍宗诹疾http://weibo.com/p/1001604188620767552452?0=12/17.28/7=O 秘磺竟写私MBD孕瞬挪计http://weibo.com/p/1001604188620775941216?v=12/17.28/n=H 反前惹痛悍THM奶月婪茨http://weibo.com/p/100160418862

Chrome性能分析工具lightHouse用法指南

本文主要讲如何使用Chrome开发者工具linghtHouse进行页面性能分析. 相关参考&内容来源: 插件下载地址:https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk 原文地址:https://www.cnblogs.com/zhaoweikai/p/9663503.html

转 WEB前端性能分析--工具篇

在线网站类: WebPageTest 说明: 在线的站点性能评测网站,地址http://www.webpagetest.org/ 补充: 其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点 ShowSlow 说明: showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件.page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示.只需要在dyn

WEB前端性能分析--工具篇【转】

在线网站类: WebPageTest 说明: 在线的站点性能评测网站,地址http://www.webpagetest.org/ 补充: 其实这网站也是个开源项目,所以支持自己搭建一个内部的测试站点 ShowSlow 说明: showslow是yslow的数据收集与展示平台http://www.showslow.com/,它是一个开源的php项目,可以用来与firefox的yslow插件.page speed插件或者dynatrace通信,收集插件或程序所发送过来的信息并集中展示.只需要在dyn

使用Chrome DevTools的Timeline分析页面性能

随着webpage可以承载的表现形式更加多样化,通过webpage来实现更多交互功能,构建web应用程序已经成为很多产品的首要选择.这种方式拥有非常明显的优势:跨平台.开发便捷.便于部署和维护等等,但随着功能的不断积累,web应用程序也会变得越来越复杂.但是,我们仍然想要在webpage支持丰富的呈现形式的同时,让页面效果能够达到>=60fps(帧)/s的刷新频率以避免出现卡顿,就需要我们使用一些比较直观的方式来分析衡量页面的性能问题,为性能优化方案提供依据. 为什么是60fps?我们的目标是保

用Chrome开发者工具做JavaScript性能分析

英文原文:Zack Grossbart,编译:伯乐在线——王筱 你的网站正常运转.现在我们来让它运转的更快.网站的性能由页面载入速度和代码执行效率决定.一些服务可以让你的网站载入更快,比如压缩JS和CDN,但是让代码执行的更快你要做的事情. 代码中很小的改动都可能对性能造成巨大的影响.快速灵活的网站和可怕的“无响应脚本”对话框可能只有几行代码的差别.这篇文章告诉你如何通过用Chrome开发者工具(Chrome Developer Tools)找到这几行关键的代码. 设置一个基线 我们来看一个简单

如何使用 Chrome 和 DevTools 查找影响页面性能的内存问题,包括内存泄漏、内存膨胀和频繁的垃圾回收

了解如何使用 Chrome 和 DevTools 查找影响页面性能的内存问题,包括内存泄漏.内存膨胀和频繁的垃圾回收. TL;DR 使用 Chrome 的任务管理器了解您的页面当前正在使用的内存量. 使用 Timeline 记录可视化一段时间内的内存使用. 使用堆快照确定已分离的 DOM 树(内存泄漏的常见原因). 使用分配时间线记录了解新内存在 JS 堆中的分配时间. 概览 在 RAIL 性能模型的精髓中,您的性能工作的焦点应是用户. 内存问题至关重要,因为这些问题经常会被用户察觉. 用户可通

老李分享:《Java Performance》笔记1——性能分析基础 1

老李分享:<Java Performance>笔记1——性能分析基础 1.性能分析两种方法: (1).自顶向下: 应用开发人员通过着眼于软件栈顶层的应用,从上往下寻找性能优化的机会. (2).自底向上: 性能专家从软件栈底层的CPU统计数据(例如CPU高速缓存未命中率.CPU指令效率)开始,逐渐上升到应用自身的结构或应用常见的使用方式. 2.CPU使用率: 大多数操作系统的CPU使用率分为用户态CPU使用率和系统态CPU使用率. 用户态CPU使用率:执行应用程序代码的时间占总CPU时间的百分比