DOM 变更性能分析器 - 记录并统计重排重绘
开启监听后操作页面,统计 DOM 变化次数和频率,帮助定位布局抖动。
UD5工具箱
性能影响可视化 · Performance Impact Visualizer
| # | 操作名称 | 类型 | 平均耗时 | 最小 | 最大 | 触发 | 性能影响可视化 |
|---|---|---|---|---|---|---|---|
| 尚未执行测试,点击上方按钮开始 | |||||||
width/height、margin/padding、font-size、添加/删除DOM元素、修改 display 属性、读取 offsetHeight 等布局属性(强制同步重排)。
color、background-color、box-shadow、border-color、visibility、outline 等。transform 和 opacity 而非 top/left。
offsetHeight、offsetWidth、getBoundingClientRect()、scrollTop 等)时,如果之前有未应用的样式修改,浏览器必须立即同步执行重排以返回准确值。这被称为"强制同步重排"。在循环中交替读写是典型的布局抖动(Layout Thrashing)反模式,会严重拖慢页面性能。解决方法是先批量读取,再批量写入(Read-Then-Write模式),或使用 requestAnimationFrame。
DocumentFragment 或先 display:none 再修改,最后显示。element.style.xxx 可能触发多次。contain: layout style paint 限制重排/重绘的影响范围。color、background-color、box-shadow、border-color、outline、outline-color、visibility、text-decoration、background-image(仅颜色变化部分)、border-radius(不改变尺寸时)、opacity(合成器处理,甚至不触发重绘)。transform 和 opacity 可以跳过布局和绘制阶段,直接在合成器线程处理,因此动画性能最佳。理解这个流水线有助于写出高性能的前端代码。
开启监听后操作页面,统计 DOM 变化次数和频率,帮助定位布局抖动。
记录页面交互触发的所有DOM事件及其目标、冒泡阶段,以日志和瀑布形式展示。
在线响应式布局测试器,同时预览常见设备分辨率的网页显示效果,帮助检查前端适配。
实时显示touchstart/move/end事件的所有属性:坐标、力度、半径与角度,辅助手势开发。
通过Canvas生成不同粒度、颜色的噪点纹理图片,适合用作页面背景或叠加。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
输入CSS选择器和属性值,瞬间预览在当前页面元素上的效果(不改变实际样式)。
用WebGL或Three.js(轻量版)展示一条旋转的莫比乌斯带,可用鼠标拖拽视角。
在图像上点击,利用前端模型将点击范围内的主要物体自动从背景分离。
使用Web Audio PannerNode,在头顶环绕拖拽一个声源,体验声音在空间的移动。
拖拽添加图片与文字,生成响应式轮播图Slider,支持自动播放和导航点,提供HTML/CSS/JS代码。
生成形似iOS或Android的开关切换按钮,支持动画和自定义颜色。
实时调整rotateX/Y/Z、perspective和translateZ,查看3D变换视觉效果。
选择算法并随机生成数组,以彩色条动画展示排序过程,帮助理解算法。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
覆盖加载、渲染、安全、可访问性等领域的自查清单,勾选后生成得分与建议。
选择对称组类型(p6m, p4m 等),绘制基础形状并自动生成无限重复的几何图案。
输入 URL,列出所有第三方域名的脚本,估算其对加载时间的影响。
对比启用和不启用 content-visibility: auto 时页面大量列表的渲染性能差异。
显示触摸事件的触摸点数量、每个点的坐标、触控半径和压力值,调试移动端。
使用原生HTML Popover属性创建提示、菜单与对话框,展示四种触发方式及样式定制。
选择不同的频率和振动模式,生成对应的二维克拉尼金属板砂粒聚集图案。
输入 HTML/CSS/JS 代码,在隔离沙箱中即时渲染,支持控制台捕获。
将图像从中心点开始向外做逐渐减弱的旋转扭曲,生成超现实的漩涡画面。
展示各种 HTML5 验证属性(required, pattern, min, max 等)和自定义验证消息的效果。
用密集的交叉线条重绘图片,光影由线条的粗细和密度决定,模拟版画排线风格。
并行动画展示试除法和埃拉托斯特尼筛法查找素数的过程,对比效率。
粘贴自定义图标字体的Unicode,调节尺寸颜色立即查看效果。
生成点击导航平滑滚动到对应Section并高亮当前菜单项的完整代码。
交互式探索Julia集,实时调整复数参数c,支持平滑着色和鼠标缩放,感受分形之美。