SuperAPI AI 工具集

fixing-motion-performance

前端与建站

查看项目

更新于 10-15 20:12

技能介绍

用途:这是一个面向 UI 动画性能的技能,用于在对话中对动画相关工作进行约束,或审查指定文件中的动画性能问题。

主要能力:审查时会报告违规之处(引用具体行或代码片段)、说明其影响(一句话),并给出代码级的具体修复建议。覆盖添加或修改 UI 动画(CSS、WAAPI、Motion、rAF、GSAP)、重构卡顿的交互或过渡、实现滚动联动动效或滚动显现、为布局/滤镜/遮罩/渐变/CSS 变量做动画,以及审查使用 will-change、transform 或测量逻辑的组件。

使用方式:在对话中使用 /fixing-motion-performance,将相关约束应用到本次对话中的所有 UI 动画工作;使用 /fixing-motion-performance <file> 对文件按全部规则进行审查并报告。除非明确要求,否则不迁移动画库,只在现有技术栈内应用规则;同一组件内不部分迁移 API 或混用风格。

规则按优先级划分:永不使用的模式(关键)、选择机制(关键)、测量(高)、滚动(高)、绘制(中高)、图层(中)、模糊与滤镜(中)、视图过渡(低)、工具边界(关键)。关键规则优先执行,即永不使用的模式与工具边界。

渲染步骤术语:合成(transform、opacity)、绘制(color、borders、gradients、masks、images、filters)、布局(size、position、flow、grid、flex)。

核心规则要点:不要在同一帧内交错布局读写;不要在大面积或有意义的表面上持续做布局动画;不要用 scrollTop、scrollY 或滚动事件驱动动画;不要使用没有停止条件的 requestAnimationFrame 循环;不要混用多个各自测量或修改布局的动画系统。默认用 transform 和 opacity 做动效;仅在交互需要时使用 JS 驱动动画;绘制或布局动画只允许用于小型、孤立的表面;一次性效果比持续动效更常可接受;优先降级技术而非完全移除动效。测量一次后通过 transform 或 opacity 做动画;批量先读后写;动画期间不反复读取布局;优先 FLIP 式过渡;优先能批量测量与写入的方案。滚动联动优先用 Scroll 或 View Timelines,用 IntersectionObserver 处理可见性与暂停,不要轮询滚动位置,离屏时暂停或停止动画。绘制触发动画只允许用于小型孤立元素;不要为 transform、opacity 或位置做 CSS 变量动画,不要动画化继承的 CSS 变量,应局部限定并避免继承。合成器动效需要图层提升,不能想当然;will-change 要临时且精准使用;避免过多或过大的提升图层。模糊动画保持较小(<=8px),仅用于短暂一次性效果,绝不连续动画化模糊,也不在大表面上做模糊动画,优先使用 opacity 和 translate 再考虑模糊。视图过渡仅用于导航级变化。

限制:资料未提供具体的性能测量工具名称、兼容性细节、支持文件类型或返回格式说明;相关具体信息暂未提供。