现状
当前琉光架构的UI动画裁剪为逐帧实时计算控件渲染边界。系统图标、控件播放确定性动画时,GPU每帧都要重新判断渲染范围,会产生一部分无效像素渲染开销。当动画中途被其他动画打断,预生成的渲染边界会直接失效,退回普通渲染逻辑。
优化构想
针对桌面图标点击启动动画、系统弹窗、页面转场这类起止点确定、运动轨迹完全可预知的确定性动画:
1. 在动画触发瞬间,根据完整运动轨迹,预计算整个动画周期控件会覆盖的最大像素包围盒,生成虚拟渲染模子。GPU限定仅在该模子区域内执行像素渲染,模子以外区域跳过渲染计算,控件运动被约束在模子边界之内。
2. 当动画播放中途被新动画打断,不直接销毁原有模子;将旧动画模子与新动画的预计算模子做包围盒并集合并,生成可以完整容纳两段全部轨迹的全新总模子。GPU继续沿用合并后的模子作为渲染限制,避免控件画面被异常裁切,继续保留裁剪优化收益。
强制保护边界(非常关键)
1. 仅对轨迹可预知的确定性系统UI动画生效;带物理回弹、拖拽、惯性的交互动画,不启用本机制,沿用原有渲染逻辑。
2. 设置打断次数阈值:短时间内连续多次动画打断,模子持续膨
37 人已参与