环境准备

【匿名模式】:匿名模式可以保证Chrome在一个相对干净的环境下运行。我们安装了许多chrome插件,这些插件可能会影响我们分析性能表现。使用ctrl+shift+N即可在匿名模式下开启新的chrome新标签页。

使用performance工具进行性能分析的数据准备

进入开发者工具后,点击performance

点击录制按钮,开始录制,在对应页面进行有关操作,然后点击停止,停止录制、处理数据并生成性能报告。

分析报告

看上上述性能表现报告时,已备好性能分析的数据。那么久可以用来分析页面的性能,从而找到性能瓶颈

分析每一秒的帧

FPS(frames per second)是用来分析动画的一个主要性能指标。能保持在60的FPS的话,那么用户体验就是不错的。观察FPS图表,如果你发现了一个红色的长条,那么就说明这些帧存在严重问题,有可能导致非常差的用户体验。一般来说,绿色的长条越高,说明FPS越高,用户体验越好。

就在FPS图表下方,你会看到CPU图表。在CPU图表中的各种颜色与Summary面板里的颜色是相互对应的,Summary面板就在Performance面板的下方。CPU图表中的各种颜色代表着在这个时间段内,CPU在各种处理上所花费的时间。如果你看到了某个处理占用了大量的时间,那么这可能就是一个可以找到性能瓶颈的线索。
把鼠标移动到FPS,CPU或者NET图表之上,DevToos就会展示这个时间点界面的截图。左右移动鼠标,可以重发当时的屏幕录像。这被称为scrubbing, 他可以用来分析动画的各个细节。
在Frames图表中,把鼠标移动到绿色条状图上,Devtools会展示这个帧的FPS。每个帧可能都在60以下,都没有达到60的标准,也可能高于60,这些是结合FPS表来进行分析查看的,重点关注FPS表中较低处。

在我们实际场景中,我们也需要结合小工具进行性能分析
小功能:显示实时FPS面板

  1. 按下 Command+Shift+P(Mac)或者 Ctrl+Shift+P(Windows, Linux) 打开命令菜单
  2. 输入Rendering,点选Show Rendering
  3. 在Rendering面板里,激活FPS Meter。FPS实时面板就出现在页面的左上方。


关闭FPS Meter只要按下Esc就可以了。

定位瓶颈

注意Summary面板,你会发现CPU花费了大量的时间在Idle和Scripting上。因为提高性能就是一门做减法的艺术,你的目标就是减少Idle和Scripting的时间。

展开Main图表,Devtools展示了主线程运行状况。X轴代表着时间。每个长条代表着一个event。长条越长就代表这个event花费的时间越长。Y轴代表了调用栈(call stack)。在栈里,上面的event调用了下面的event。

在性能报告中,有很多的数据。可以通过双击,拖动等等动作来放大缩小报告范围,从各种时间段来观察分析报告。
在事件长条的右上角出,如果出现了红色小三角,说明这个事件是存在问题的,需要特别注意。
点击这个带有红色小三角的的事件。在Summary面板会看到详细信息。注意reveal这个链接,双击它会让高亮触发这个事件的event。如果点击了ui.dll.js:45这个链接,就会跳转到对应的代码处。

Call Tree,可以通过调用树来查看各个文件调用运行的时间及占比。

Google插件Performance工具进行性能分析相关推荐

  1. hadoop中使用hprof工具进行性能分析

    在编写完成MapReduce程序之后,调优就成为了一个大问题.如何使用现有工具快速地分析出任务的性能? 对于本地的java应用程序,进行分析可能稍微简单,但是hadoop是一个分布式框架,MapRed ...

  2. 利用chromeDevTools的Performance面板进行性能分析调优

    Chrome DevTools之Performance Chrome DevTools中Performance面板可以帮助我们进行性能分析,使我们写出更加精悍的代码. 下面是一段简单的代码. var ...

  3. 使用Websphere的TPTP工具进行性能分析和监控

    Websphere提供了一个TPTP(Test & Performance Tools Platform)工具,最新版本为4.5.0,可以进行强大的性能测试和分析工具,利用它,我们可以分析ja ...

  4. js performance.timing:利用performance.timing进行性能分析

    window.onload = function(){setTimeout(function(){let t = performance.timingconsole.log('DNS查询耗时 :' + ...

  5. JS - 利用performance.timing进行性能分析

    window.onload = function(){setTimeout(function(){let t = performance.timingconsole.log('DNS查询耗时 :' + ...

  6. 前端进击笔记第二十二节 如何进行性能分析的自动化实现

    如今网络速度越来越快.机器性能也越来越好,用户对于页面加载要求也随之增高,页面白屏过久.操作卡顿等问题对用户来说是无法忍受的,因此性能分析成了前端开发工作中的家常便饭. 常见的性能分析解决方案会在下一 ...

  7. Android如何分析native代码,使用android-ndk-profiler对native代码进行性能分析

    android-ndk-profiler需要使用gcc进行编译,从NDK r13b 起NDK使用的默认编译器从gcc换成了clang,官方提供了Simpleperf工具进行性能分析,具体情况可以参考h ...

  8. linux c++ 函数效率,Linux C++程序进行性能分析工具gprof使用入门

    性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...

  9. Android:通过systrace进行性能分析及使用-详细

    Android:通过systrace进行性能分析 https://www.cnblogs.com/blogs-of-lxl/p/10926824.html 一.Systrace 简介 Systrace ...

最新文章

  1. golang中创建logger时候踩过的坑
  2. 真实的产品案例:实现文档边缘检测
  3. EmEditor 常用功能
  4. BAT批处理整人代码
  5. java生成图片中文乱码_Java生成图片乱码问题的解决方法
  6. 【线性代数】n阶行列式
  7. C++: 对称数字金字塔
  8. 张艾迪(创始人):世界最高级文明信仰
  9. 到底什么是JWT技术?
  10. 辅助类GenericOptionsParser,Tool和ToolRunner
  11. Discuz!目录结构
  12. mapboxgl加载google地图、高德地图的在线切片地图
  13. linux共享文件夹找不到
  14. 关于RS485通讯中使用STM32串口以DMA方式发送数据丢失字节的问题
  15. et99php,坚石诚信ET99加密狗api aardio调用示范
  16. FIR滤波器学习设计笔记
  17. 用计算机写作400字,电脑作文400字
  18. Java 18发布:甲骨文公司已开始将Java纳入其软件许可审计
  19. 商业地产如何走出高空置率困局?
  20. 102届秋季广交会参展准入管理规定 2007年广交会参展准入资质标准

热门文章

  1. 基于python的股票数据的读取及可视化(K线图)
  2. SAP disp+work dispatcher YELLOW
  3. cgb2107-day16
  4. Qt开发:Qt Widgets模块——QCompleter类
  5. 七牛云 QVM 「1 元上云」领取攻略 企业如何低成本上云必读
  6. xcode php开发工具,给宝宝的第一份礼物——一个好名字
  7. SGame 新加进程(1)
  8. C语言中的%和/的含义(超详细)
  9. 2计算机电源机,2分钟解读,电脑装机电源如何选?
  10. html表单记住密码按钮,js form表单提交,浏览器记住密码后自动填充