首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Chrome DevTools时间线测量:函数调用、重新计算样式、布局和绘制时间

Chrome DevTools是一款由Google开发的一套开发者工具,其中包含了许多强大的功能,其中之一就是时间线测量。时间线测量可以帮助开发者分析和优化网页性能,包括函数调用、重新计算样式、布局和绘制时间等方面。

  1. 函数调用:
    • 概念:函数调用是指在代码执行过程中,调用函数并执行其中的代码块。
    • 优势:通过时间线测量函数调用时间,可以帮助开发者分析函数执行的效率,找出潜在的性能瓶颈。
    • 应用场景:函数调用时间线测量适用于任何需要对函数执行时间进行优化的场景。
    • 推荐的腾讯云相关产品:腾讯云函数计算(SCF)
    • 产品介绍链接地址:腾讯云函数计算(SCF)
  2. 重新计算样式:
    • 概念:重新计算样式是指在网页渲染过程中,当元素的样式发生变化时,浏览器需要重新计算元素的样式。
    • 优势:通过时间线测量重新计算样式的时间,可以帮助开发者优化网页的渲染性能,减少样式计算的时间消耗。
    • 应用场景:重新计算样式时间线测量适用于需要优化网页渲染性能的场景。
    • 推荐的腾讯云相关产品:腾讯云Web+托管版
    • 产品介绍链接地址:腾讯云Web+托管版
  3. 布局和绘制:
    • 概念:布局和绘制是指在网页渲染过程中,浏览器根据元素的样式和位置信息,计算元素在页面中的布局,并将其绘制到屏幕上。
    • 优势:通过时间线测量布局和绘制的时间,可以帮助开发者分析和优化网页的渲染性能,减少布局和绘制的时间消耗。
    • 应用场景:布局和绘制时间线测量适用于需要优化网页渲染性能的场景。
    • 推荐的腾讯云相关产品:腾讯云Web+托管版
    • 产品介绍链接地址:腾讯云Web+托管版

总结:Chrome DevTools时间线测量是一款强大的开发者工具,可以帮助开发者分析和优化网页性能。通过测量函数调用、重新计算样式、布局和绘制时间,开发者可以找出性能瓶颈并进行优化。腾讯云提供了相关产品,如腾讯云函数计算和腾讯云Web+托管版,可以帮助开发者更好地优化网页性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

前端优化--关键渲染路径

根据渲染树来布局,以计算每个节点的几何信息。 将各个节点绘制到屏幕上。 ? 如果 DOM 或 CSSOM 被修改,只能再执行一遍以上所有步骤,以确定哪些像素需要在屏幕上进行重新渲染。...要了解 CSS 处理所需的时间,您可以在 DevTools 中记录时间线并寻找“Recalculate Style”事件:与 DOM 解析不同,该时间线不显示单独的“Parse CSS”条目,而是在这一个事件下一同捕获解析...布局计算每个对象的精确位置大小。 最后一步是绘制使用最终渲染树将像素渲染到屏幕上。...“Layout”事件在时间线中捕获渲染树构建以及位置尺寸计算布局完成后,浏览器会立即发出“Paint Setup”“Paint”事件,将渲染树转换成屏幕上的像素。...执行渲染树构建、布局绘制所需的时间将取决于文档大小、应用的样式,以及运行文档的设备:文档越大,浏览器需要完成的工作就越多;样式越复杂,绘制需要的时间就越长(例如,单色的绘制开销“较小”,而阴影的计算渲染开销则要

1.3K41

深度剖析浏览器渲染性能原理,你到底知道多少

优化 JavaScript 的执行效率 降低样式计算的范围复杂度 避免大规模、复杂的布局 简化绘制的复杂度、减少绘制区域 优先使用渲染层合并属性、控制层数量 对用户输入事件的处理函数去抖动(移动设备)...添加或移除一个 DOM 元素、修改元素属性样式类、应用动画效果等操作,都会引起 DOM 结构的改变,从而导致浏览器需要重新计算每个元素的样式,对整个页面或部分页面重新布局,这就是所谓的样式计算。...布局就是计算 DOM 元素的大小位置的过程,如果你的页面中包含很多元素,那么计算这些元素的位置将耗费很长时间。...通过Chrome DevTools来分析绘制复杂度时间消耗,尽可能降低这些指标 打开DevTools,按下键盘的ESC键,在弹出的面板中,选中rendering选项卡下的Enable paint flashing...避免使用运行时间过长的输入事件处理函数 理想情况下,当用户页面交互,页面的渲染层合并线程将接收到这个事件并移动元素。

1.3K20

浏览器之性能指标_FCP

字体显示时间轴 字体显示时间线基于一个计时器,该计时器在浏览器尝试使用给定下载字体的那一刻开始。时间线分为三个时间段,在这三个时间段中指定使用字体的元素的渲染行为。...---- Coverage:发现未使用的JSCSS Chrome DevTools中的"Coverage"选项卡可以帮助我们找到「未使用的JavaScriptCSS代码」。...FCP不计算包含在iframe中的内容。非内容绘制,例如「背景颜色」的变化,也不属于FCP,而是属于FP(首次绘制)。 FCP是一个相对主观的测量点。虽然可以定量地测量它,但它也相对主观。...Chrome DevTools[24]可以在“Coverage”选项卡下显示我们的CSS中正在加载但未使用的部分。...加载应用样式到5个元素比加载应用样式到10个元素需要更少的时间。 优先使用SVG 或者 WebP 这一点可能不会影响每个网站,这也是为什么我们将它放在列表的最后。

1.1K30

干货 | 提升50分,Trip.com 机票基于 PageSpeed 的前端性能优化实践

Chrome DevTools Coverage 工具能分析出运行过程中文件(脚本样式)的使用情况,可作为参考更好地针对性地瘦身优化。...这时,结合缓存机制可以大幅节省渲染时间。 3.4.2 预渲染 基于构建时的预渲染,是使用 webpack babel 等工具提前生成对应的 HTML 以及引用的脚步样式文件。...Long Task 可借助对应的 Long Task Web API 进行监控,开发过程中则使用 Chrome DevTools Performance 面板进行查看调试。...3.5.3 记忆函数 如果一个函数被大量调用,合理运用记忆函数一个很好的选择,有大量的库可供我们选择,也可以根据使用场景自行实现。...在开发调试中,Layout Shift 同样可以使用 Chrome DevTools Performance 进行分析,能查看每一次布局偏移的分数,进行针对性优化。

61130

28. 精读《2017前端性能优化备忘录》

DevTools 中 JavaScript profiler 选项,可以看到页面中的函数调用链路,就能分析出 JavaScript 代码对于页面渲染性能的影响,从而发现并修复 JavaScript 代码中性能低下的部分...降低代码复杂度或者使用 Web Workers JavaScript 代码是运行在浏览器的主线程上的。与此同时,浏览器的主线程还负责样式计算布局,甚至绘制等的工作。...降低样式计算复杂度 添加或移除一个DOM元素、修改元素属性样式类、应用动画效果等操作,都会引起DOM结构的改变,从而导致浏览器需要重新计算每个元素的样式、对页面或其一部分重新布局(多数情况下),这就是所谓的样式计算...尽可能避免触发布局,当修改了元素的样式属性之后,浏览器会将会检查为了使这个修改生效是否需要重新计算布局以及更新渲染树。...为了避免触发不必要的布局过程,应该首先批量读取元素样式属性,然后再对样式属性进行写操作,过早地同步执行样式计算布局是潜在的页面性能的瓶颈之一 避免快速连续的布局,如果想确保编写的读写操作是安全的,你可以使用

45420

浏览器渲染原理及流程

优化渲染性能 结合渲染流程,可以针对性的优化渲染性能: 优化JS的执行效率 降低样式计算的范围复杂度 避免大规模、复杂的布局 简化绘制的复杂度、减少绘制区域 优先使用渲染层合并属性、控制层数量 对用户输入事件的处理函数去抖动...长耗时的JS代码放到Web Workers中执行 JS代码运行在浏览器的主线程上,与此同时,浏览器的主线程还负责样式计算布局绘制的工作,如果JavaScript代码运行时间过长,就会阻塞其他渲染工作...对于不能避免的布局,可以使用Chrome DevTools工具的Timeline查看布局的耗时,以及受影响的DOM元素数量。 2....通过Chrome DevTools来分析绘制复杂度时间消耗,尽可能降低这些指标 打开DevTools,在弹出的面板中,选中 MoreTools>Rendering选项卡下的Paint flashing...避免使用运行时间过长的输入事件处理函数 理想情况下,当用户页面交互,页面的渲染层合并线程将接收到这个事件并移动元素。这个响应过程是不需要主线程参与,不会导致JavaScript、布局绘制过程发生。

4.5K32

性能优化到底应该怎么做

主要负责把Renderer进程中绘制好的tile位图作为纹理上传到GPU,并调用GPU相关方法把纹理draw到屏幕上。...● Main Thread: 主线程就是我们前端工程师熟知的线程,这里会执行解析Html、样式计算布局绘制、合成等动作。所以关于性能的问题,都发生在了这里。所以应该重点关注这里 。...在Main Thread中,有这几个需要注意一下: ● requestAnimationFrame:因为布局样式计算是在rAF之后,所以在rAF是进行元素变更的理想时机。...需要注意的是,不能在rAF中查询任何计算样式布局的属性(例如:el.style.backgroundImage或el.style.offsetWidth),因为这样会导致重绘回流。...[35u67fbqpo.png] Chrome Trace Files:根据规则分析Trace文件,可以得到每个函数执行的时间。如果函数执行时间超过了一个临界值,可以抛出异常。

2.7K343

Chrome DevTools 全攻略!助力高效开发

相较于 Network 面板,不仅可以看到通过网络加载资源的信息,还能看到解析 JS、计算样式、重绘等页面加载的方方面面的信息 面板主要的区域划分: Controls - 开始记录,停止记录配置记录期间捕获的信息...) JavaScript 执行 紫色(Rendering) 样式计算布局,即重排 绿色(Painting) 更改外观而不会影响布局,重绘 灰色(other) 其它事件花费的时间 白色(Idle) 空闲时间...再看下面,Function Call 可以看到一个匿名函数调用,然后调用 Me() 函数,然后调用 Se(),依此类推。 DevTools 为脚本分配随机颜色。...在上图中,来自一个脚本的函数调用显示为浅绿色。来自另一个脚本的调用被渲染成米色。较深的黄色表示脚本活动,而紫色的事件表示渲染活动。这些较暗的黄色紫色事件在所有记录中都是一致的。 ?...参考 Chrome Network ,Size Time 为什么有两行参数 Chrome 开发者工具 Google chrome-devtools Chrome devtools 使用详解——Performance

1.5K10

Devtools 老师傅养成 - Performance 面板

工具类知识需要实践,建议阅读本文时打开 sample[1] devtools 操作一遍 参考 1:google developers 官方文档[2] 参考 2:来自作者 Jon Kuoerman 在...,定义了四个维度的性能分析指标 Response:在100 毫秒以内响应(例如从点按到绘制) Animation:每秒生成 60 帧,每个帧的工作(从 JS 到绘制)完成时间小于 16 毫秒,达到人眼顺滑...(例如滚动 拖动都是动画类型)(因为浏览器需要花费时间将新帧绘制到屏幕上,只有 10 毫秒来执行代码) Idle:利用空闲时间完成推迟的工作(要实现第一条 response 在 100ms 内响应,Main...滚动鼠标滚轮,可以上下 在火焰图窗格,也可以直接左右拖动图表 或者用W A S D按键控制缩放移动 Disable JavaScript samples默认情况,在Main主线程的火焰图中,会详细记录 js 函数之间的调用栈...Initiator后的reveal链接,会高亮到引起动画事件的事件 性能相关扩展 网页性能-性能模型/加载/渲染/审计/优化[8] the-anatomy-of-a-frame - 一个帧的剖析[9] 常见的时间线事件参考

2.1K41

使用Firefox开发工具做性能审计

这个单线程负责运行浏览器正在执行的所有工作,如布局呈现、计算样式收集垃圾。 还有一些方法,如setTimeout、诸如单击、加载资源获取等事件,都是由单个线程执行的。...布局操作或反射样式计算都很昂贵,因此这些可能是优化的潜在领域。有关更多细节,请搜索参阅百度/谷歌文章。 下面是一个示例应用程序的瀑布图的屏幕截图: ?...调用树视图 调用树视图显示浏览器花费大部分时间使用的JavaScript函数,以及重要的度量,如活动的总时间、自我时间及其相对于分析时间的百分比。 ?...Self time 指操作单独花费的时间,而不考虑它调用函数。 Total time 指操作所花费的时间及其调用函数。...您可以通过这个菜单过滤掉您希望在图表视图中看到的单个活动,您还可以看到与不同操作相关的不同颜色。 例如,如果使用CSS动画,您需要关注的是诸如重新计算样式、应用样式更改、布局绘制等活动。

3.4K40

【图解Chrome

[image.png] 这就牵扯到布局(Layout),布局是对元素定位的过程,主线程遍历 DOM 并计算样式,然后创建布局树(Layout Tree),在布局树中,包含 X、Y 坐标边框大小等信息。...如果你曾经使用 JS 在 上绘制元素,那么你对此过程应该会很熟悉。 [image.png] 如上图所示,主线程遍历布局树,并生成绘制记录。...例如,如果布局树中的某些内容发生更改,则需要为文档的受影响部分重新生成“绘制”顺序。...即使渲染的计算可以跟上屏幕的刷新速度,可因为此计算是在主线程上执行的,这就意味着 JS 代码的执行,也可能导致它被阻断。 [image.png] 如上图,时间轴上的动画帧,被 JS 阻止了一帧。...合成器线程不需要等待样式计算或者 JS 脚本执行,这就是为什么 “仅合成动画” 被认为是平滑性能的最佳选择。如果需要再次计算不会或者重新绘制,则必须涉及到主线程。

4.7K50

前端性能分析工具利器

Chrome 60 之前的版本中, 这个面板只包含网络使用页面性能两个测量类别,从 Chrome 60 版本开始, Audits 面板已经被 Lighthouse 的集成版取代。...CPU 图表的颜色对应于性能板的底部的 Summary 选项卡 查看 火焰图:火焰图直观地表示出了内部的 CPU 分析,横轴是时间,纵轴是调用指针,调用栈最顶端的函数在最下方。...启用 JS 分析器后,火焰图会显示调用的每个 JavaScript 函数,可用于分析具体函数 查看 Buttom-up:此视图可以看到某些函数对性能影响最大,并能够检查这些函数调用路径 具体要怎么定位某些性能瓶颈...: 页面中的帧数 JSEventListeners: 页面中的事件数 Nodes: 页面中的 DOM 节点数 LayoutCount: 全部或部分页面布局的总数 RecalcStyleCount: 页面样式重新计算的总数...LayoutDuration: 所有页面布局的合并持续时间 RecalcStyleDuration: 所有页面样式重新计算的总持续时间 ScriptDuration: JavaScript 执行的持续时间

2.9K62

前端性能优化--性能分析工具

Chrome 60 之前的版本中, 这个面板只包含网络使用页面性能两个测量类别,从 Chrome 60 版本开始, Audits 面板已经被 Lighthouse 的集成版取代。...CPU 图表的颜色对应于性能板的底部的 Summary 选项卡查看 火焰图:火焰图直观地表示出了内部的 CPU 分析,横轴是时间,纵轴是调用指针,调用栈最顶端的函数在最下方。...启用 JS 分析器后,火焰图会显示调用的每个 JavaScript 函数,可用于分析具体函数查看 Buttom-up:此视图可以看到某些函数对性能影响最大,并能够检查这些函数调用路径具体要怎么定位某些性能瓶颈...页面中的帧数JSEventListeners: 页面中的事件数Nodes: 页面中的 DOM 节点数LayoutCount: 全部或部分页面布局的总数RecalcStyleCount: 页面样式重新计算的总数...LayoutDuration: 所有页面布局的合并持续时间RecalcStyleDuration: 所有页面样式重新计算的总持续时间ScriptDuration: JavaScript 执行的持续时间

1.3K33

基于Webkit的浏览器关键渲染路径介绍

该过程分为四步:模型对象的构建、渲染树构建、布局绘制。 ?...3.布局 经过前两步的操作,我们知道了元素的内容样式信息,但是实际在不同显示器中的大小位置如何确定呢,这就需要进行布局操作了,有的地方称为"自动重排"(reflow)。...Webkit依据框模型来计算元素的位置大小,布局输出的是一个"盒模型"对象,该对象包含了每个元素在视口内的确切位置尺寸。 ? 4.绘制布局结束后,接下来就是绘制,实现栅格化。...chrome插件的干扰,建议使用【隐身窗口】打开页面,然后打开dev-tool,选择Performance进行调试 ?...线程的使用情况代码中的资源的位置有很大关系,这个下面会介绍。 ? (2)时间线事件 Main线程中的图中,有一些细线条记录着一些事件的触发时间,光标放在上面就可以查看。

1.2K90

我们是如何在CI流水线统计web前端FPS的?

那么正好可以利用 requestAnimationFrame API 的特性来计算统计 FPS ,原理如下: 假设动画在时间 A 开始执行,在时间 B 结束,耗时 (B-A) s,这期间 requestAnimationFrame...,即可计算出对应 FPS,对 FPS 也比较方便进行收集上报,是目前使用最多的 FPS 统计方式。...devtools 等,由于使用的原生 API,其速度与稳定性都会好很多。...requestAnimationFrame 回调 如果在 RAF 回调或输入事件处理程序中 JavaScript 修改了页面,触发了一个重新布局,首先是样式重新计算,对应于"Document::updateStyle..." Blink 重新绘制覆盖失效区域,对应 TRACE_EVENT "Picture::Record",layer 属性(如 transform、opacity)也在 Blink 的 layer tree

1.5K30

你不知道的 Chrome DevTools 玩法

‍ ‍笔者在前段时间的开发时,需要通过 Chrome DevTools来分析一个接口,调试中发现了控制台中的 copy 函数,非常的好用,进而发现了新世界,学习到了 Chrome 一些奇怪的调试技巧,这里总结分享给大家...还可以作为选择器使用,其中 有两种用法,分别是单 $ 双 $,需要注意的是,双 $ 返回的并非 NodeList而是一个纯正的数组,直接方便了我们在控制台调用API。...这里可以看到并不会重新计算一遍结果,而是直接引用。 最后关于$ 命令操作是重磅戏,可以通过 $i 安装 NPM 库,这是一条未曾设想过的道路,笔者查阅发现时,属实被震撼到了。...monitor 这是 DevTools 自带的监听器,简单的说明就是监听函数函数使用起来很简单,直接套娃就行。目前没发现有什么特别方便的地方使用它的需求,了解即可。...第二行可以选择不同的动画组,此时下方面板将会更新为当前动画组的动画时间线。 在中间拥有时间线的区域,可以理解为动画的进度条,可以通过拖动来跳转到动画对应的时间点。

83430

提高JavaScript动画的性能

1、避免使用昂贵的CSS属性 你是否打算使用CSS动画CSS属性转换/ CSS关键帧或JavaScript,重要的是要知道哪些属性带来的改变页面的几何(布局)——这意味着页面上的其他元素的位置将会重新计算...布局绘制任务对于浏览器来说都是非常昂贵的,特别是当你的页面上有几个元素时。...因此,如果您避免对触发布局绘制操作的CSS属性进行动画化,并坚持使用诸如转换不透明度之类的属性,那么您将看到动画性能的显著提高,因为现代浏览器在优化这些属性方面做得非常出色。...5、避免长时间运行的JavaScript代码 浏览器使用主线程运行JavaScript,以及其他任务,如样式计算布局绘制操作。...Chrome DevTools指南将帮助您充分利用DevTools来分析性能,并在您的Chrome浏览器中提供大量其他类型的数据。

2K20

前端分析工具之Chrome Developer tools之性能标签

紫色(Rendering):代表样式计算布局、css的解析消耗的CPU。 绿色(Painting):代表绘图消耗的CPU。 灰色(System):代表系统等其他事件消耗的CPU。...第二部分 这部分数据较多,最上面仍然是时间线。在这里有不同颜色的虚线。含义如下: 蓝色:DOM加载完的时间点。 绿色:绘制开始的时间点。 红色:页面加载完成的时间点。...如下: 页面中的每一个资源,都对应着顺序花费的时间长短,放大缩小时间线时,都会有对应的变动。 Frames:在这一部分中,可以显示一个页面的各重要的时间点。...图的上面时间包含下面的时间。要看懂这个倒也不复杂,只要写过代码的就可以理解,父调用时间会有两个部分:自身时间调用时间。...第四部分 这部分给出了摘要图树状图,可以看到每个函数消耗的时间,以及函数所在代码的行号。可以直接点击并跳转到相应的行号上,以便定位。

2K50

在 css 图层分析这方面,Chrome Devtools 属实不太行

我们通过 html、css 描述页面,浏览器会解析然后一帧帧渲染,通过 js 改变 dom 后,浏览器会重新计算布局信息然后渲染。...dom 改变有高频低频之分,比如动画就要高频改变样式,而且现代浏览器都支持通过 GPU 做计算来加速渲染(硬件加速),怎么综合高频计算低频计算、CPU 渲染 GPU 渲染呢?...没听错,确实是 safari 的,不是 chrome devtools,图层分析上 chrome devtools 不太行,具体情况后面说。...绘制时显示红色背景就是在每帧渲染都会闪一下,让人能感觉出来做了新一帧的渲染。比如下面这个 gif: 然后,重点来了,这些图层都是为什么创建的呢?什么样式导致的呢?...3D 转换会创建图层是因为会用 GPU 做计算渲染;position:fixed 会创建图层是因为脱离了文档流,而与其他元素重叠会创建图层也很好理解,重叠了嘛,一个图层渲染不了,所以在单独的图层渲染。

62420
领券