浏览器API Performance

Performance API ,用于收集和测量浏览器执行的性能数据。它允许开发者访问和监控关于页面加载速度、资源加载时间、用户交互响应时间和其他相关性能指标的信息。

性能条目特定于执行上下文

  • 通过 Window.performance 访问窗口中运行的代码的性能信息
  • 通过 WorkerGlobalScope.performance 访问 worker 中运行的代码的性能信息。

属性

  • navigation(只读)
    提供了在指定的时间段里发生的操作相关信息,包括页面是加载还是刷新、发生了多少次重定向等等
  • timing(只读-废弃)
    包含延迟相关的性能信息
  • memory(非标准)
    Chrome 添加的一个非标准扩展,这个属性提供了一个可以获取到基本内存使用情况的对象。
    • jsHeapSizeLimit: 上下文内可用堆的最大体积,以字节计算。
    • totalJSHeapSize: 已分配的堆体积,以字节计算。
    • usedJSHeapSize: 当前 JS 堆活跃段(segment)的体积,以字节计算。
  • timeOrigin (非标准只读)
    返回性能测量开始时的时间的高精度时间戳。

方法

  • Performance.clearMarks(name)
    将给定的 mark 从浏览器的性能输入缓冲区中移除。

    • 参数
      • name:表示时间戳的名字,如果没有提供这个参数,则所有带有entry type这类标记的performance entries 将从 performance entry 缓存区中被移除。
<think>嗯,用户想了解浏览器控制台里的Performance面板下Summary部分的获取方法。首先,我需要回忆一下Chrome DevTools的结构。Performance面板是用来分析页面运行时性能的,通常包括录制、分析结果等步骤。用户提到的是Summary,也就是摘要信息,这部分应该是在录制结束后显示的概览数据。 接下来,我需要确定如何引导用户找到Summary。可能需要分步骤说明:打开控制台,进入Performance面板,开始录制,执行操作,停止录制,然后查看结果。其中Summary会在结果页面的顶部显示,包含加载、脚本、渲染、绘制等时间信息。 用户可能的需求是优化网页性能,所以需要解释Summary中各指标的含义,比如Loading、Scripting、Rendering、Painting的时间分布,帮助用户理解哪里存在瓶颈。同时,要提醒他们可能需要多次录制取平均值,或者结合其他面板如Network或Memory来综合分析。 另外,需要注意用户可能对专业术语不太熟悉,需要用通俗的语言解释,避免过于技术化。例如,解释渲染和绘制的区别,或者为什么脚本执行时间过长会影响性能。 最后,确保回答结构清晰,按照步骤说明如何获取Summary,并详细解释各个部分的作用,这样用户能够实际应用这些信息来优化他们的网页。</think>浏览器控制台中的 `Performance` 面板下的 **Summary(摘要)** 是用于分析网页运行时性能的核心数据概览。以下是逐步说明如何获取和解读它的方法: --- ### **1. 如何获取 Performance Summary** #### **步骤 1:打开浏览器控制台** - 右键点击网页,选择 **“检查”**(或按 `F12`/`Ctrl+Shift+I`)。 - 切换到 **`Performance`** 面板。 #### **步骤 2:录制性能数据** - 点击 **⚫ 圆形录制按钮**(或按 `Ctrl+E`)开始录制。 - 在页面上执行需要分析的操作(例如点击按钮、滚动页面)。 - 点击 **⏹️ 停止按钮** 结束录制。 #### **步骤 3:查看 Summary** - 录制结束后,面板会自动生成性能报告。 - **Summary 区域** 通常位于报告顶部,以条形图形式展示时间分布。 --- ### **2. Summary 的核心内容** Summary 将页面运行时间按类型划分为 4 类(不同浏览器可能略有差异): 1. **Loading(加载)** - 资源下载、解析 HTML/CSS、构建 DOM/CSSOM 的时间。 - 高值可能意味着资源过大或网络问题。 2. **Scripting(脚本执行)** - JavaScript 解析、编译、执行的时间。 - 长时间可能表示复杂计算或未优化的代码。 3. **Rendering(渲染)** - 计算布局(Layout)和样式(Style)的时间。 - 频繁触发布局抖动(Layout Thrashing)会导致此值偏高。 4. **Painting(绘制)** - 将像素绘制到屏幕的时间。 - 复杂 CSS 效果(如阴影、渐变)会增加绘制时间。 --- ### **3. 关键分析技巧** - **定位瓶颈**:Summary 中的时间占比直接反映性能瓶颈。例如,如果 `Scripting` 占 70%,需优化 JavaScript。 - **结合其他面板**: - 使用 **`Main`** 面板查看主线程活动。 - 用 **`Network`** 分析资源加载。 - 用 **`Memory`** 检查内存泄漏。 - **多次录制**:性能可能受缓存或随机因素影响,建议多次录制取平均值。 --- ### **4. 示例代码(模拟分析场景)** 若需手动触发性能分析,可结合 `console` API: ```javascript // 开始标记 performance.mark('start'); // 模拟耗时操作(例如遍历大数组) const array = new Array(1000000).fill(0).map((_, i) => i); // 结束标记 performance.mark('end'); performance.measure('耗时操作', 'start', 'end'); // 获取测量结果 const measure = performance.getEntriesByName('耗时操作')[0]; console.log('操作耗时:', measure.duration + 'ms'); ``` --- ### **5. 注意事项** - **无痕模式**:避免浏览器插件干扰,建议在无痕窗口测试。 - **CPU 节流**:可模拟移动端性能(通过 DevTools 右上角 ⚙️ 设置)。 - **内存限制**:长时间录制可能导致浏览器卡顿或崩溃。 通过 Summary,你可以快速定位性能问题并制定优化策略。如果需要更细粒度的分析,可进一步查看 `Call Tree`(调用树)或 `Event Log`(事件日志)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值