做平面设计兼职的网站浦口区城乡建设集团网站
2026/1/16 7:49:44 网站建设 项目流程
做平面设计兼职的网站,浦口区城乡建设集团网站,ppt链接网站怎么做,信息流广告优化下文基于最新 Chromium 架构#xff08;2024–2025#xff09; WHATWG 事件循环规范。现代浏览器进程模型#xff08;Chromium Site Isolation 架构#xff09; ​现代浏览器是多进程架构#xff0c;每个 Render Process #xff08;渲染进程#xff09;中有多个线程2024–2025 WHATWG 事件循环规范。现代浏览器进程模型Chromium Site Isolation 架构​现代浏览器是多进程架构每个 Render Process 渲染进程中有多个线程主线程、合成线程、raster光珊化 线程等。​Chrome 至少包含Renderer 进程内部线程模型Renderer 内部不是单线程而是一个复杂的​多线程渲染系统​“JS 只在 Renderer 主线程执行通过事件循环处理 Task 和 Job渲染管线style→layout→paint→composite会在compositor/GPU 线程协作主线程生成绘制命令 → 合成线程处理 → raster 线程光栅化 → GPU 合成。”事件循环老说法宏任务 / 微任务这只适合 JS 引擎不符合浏览器标准。新标准WHATWG浏览器遵循Task原来所谓“宏任务”Microtask/Job微任务但注意浏览器将 Task 分为多个不同的 Task Queue最新循环模型Chrome / WHATWGwhile (true) { 执行一个 Task (浏览器任务队列) 执行所有 MicrotaskJob Queue 如果需要更新渲染则提交给 Compositor触发渲染管线 }渲染原理浏览器把源码HTML/CSS/JS解析成 DOM CSSOM → 构建 Render Tree → 计算样式 → 布局(layout) → 分层 → 绘制(paint) → 分块 → 光珊化raster → GPU 显示draw。概览从页面加载到屏幕显示主要阶段​网络加载资源​HTML/CSS/JS/图片/字体等HTML 解析 → DOM 树CSS 解析 → CSSOM样式表树​**构建 Render Tree渲染树**​DOM CSSOM 的结合只有可见节点样式计算Style Recalculation—— 将 CSS 应用到节点上布局Layout / Reflow—— 计算每个节点的尺寸和位置回流分层—— 一些特殊的属性会创建一个新的合成层新的图层可以使用 GPU 进行加速流媒体。绘制Paint—— 为每个节点生成绘制指令绘制图层、颜色、边框、文本、阴影等分发到图层并由合并线程接管。​分块 ​​—— 对每个图层进行分块将其划分为更多的小区域。光珊化Rstar—— 矢量绘制命令被 raster 线程或 GPU 转换为像素纹理tile。呈现到屏幕swap buffers关键点​很多步骤在主线程完成尤其是 JS、样式、布局、paint 指令生成——这是最常见的性能瓶颈​。浏览器尽量把可并行的工作raster、composite、GPU移出主线程。详细步骤1 资源加载与阻塞浏览器拿到 HTML 开始​流式解析​遇到link relstylesheet会下载并解析 CSS因为 CSS 会影响后续节点的样式所以 CSS 会阻塞渲染直到下载并解析——这是“render-blocking resource”。script默认会阻塞 HTML 解析因为脚本可能会修改 DOM/CSSOM。可以用defer在解析结束后执行或async下载完成立即执行不阻塞后续资源下载但会阻塞解析执行来优化。fonts、images 不一定阻塞结构渲染但字体会影响文本重绘FOIT/FOUT 问题。优化点把非关键 CSS 异步加载使用preload/prefetch把脚本defer或放底部。2 HTML → DOM解析器parser按字符流构造 DOM 节点树节点类型元素、文本、注释等。DOM 是页面的语义结构。3 CSS → CSSOMCSS 样式表被解析成 CSSOM包含规则、选择器、优先级。嵌入样式和外链样式都合并成一个样式树。4 DOM CSSOM → Render Tree渲染树渲染树只包含可见的节点display: none 的节点不会进入。每个渲染对象render object关联计算后的样式颜色、大小、布局属性等。5 样式计算Style Recalculation浏览器把 CSSOM 中的样式匹配到 DOM 节点计算出​计算后样式​computed style。这是一个开销可能很大的过程受选择器复杂度、DOM 节点数量影响。6 布局Layout / Reflow布局阶段计算每个 render object 的几何信息宽高、位置。Layout 代价高尤其是当某节点的尺寸变化需要重新计算大量子树或祖先树时回流 cascade / reflow propagation。常见触发修改宽高、添加/删除 DOM 节点、改变字体、改变视口大小等。7 分层Layering浏览器会根据某些属性把渲染树分成若干合成层compositing layers常见触发position: fixed/absolute、transform、opacity、will-change、video/canvas等。8 绘制Paintpaint 会将合成层中每个节点的可视属性转换成绘制指令例如绘制背景色、边框、文本、阴影、图像等。paint 的输出通常是绘制到图层layer或画布命令display lists。重复 paint 会浪费资源。9 合成Compositing合成层可以被单独 rasterize光栅化成位图并交给 GPU 合成从而避免整个页面重绘。合成阶段在合成线程/ GPU 进行能在主线程被占用时仍保持某些动画或滚动流畅。10 分块Tiles合成线程首先对每个图层进行分块将其划分为更多的小区域。11 Rasterization光栅化矢量绘制命令被 raster 线程或 GPU 转换为像素纹理tile多线程或 GPU 并行处理这些 tiles。12 最终合成与显示Draw合成线程把多个图层纹理合成blend出一帧送到 GPU 显示swap buffers。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询