首页»版块 MagicOS MagicOS 建议系统确定性UI动画预生成渲染边界模子,动画打断支持 ...

建议系统确定性UI动画预生成渲染边界模子,动画打断支持模子合并,降低GPU无效渲染开销

[复制帖子标题和链接]

1380

数码爱好者  LV7  发表于 昨天 23:46 江苏 来自:荣耀Magic7 Pro
现状

当前琉光架构的UI动画裁剪为逐帧实时计算控件渲染边界。系统图标、控件播放确定性动画时,GPU每帧都要重新判断渲染范围,会产生一部分无效像素渲染开销。当动画中途被其他动画打断,预生成的渲染边界会直接失效,退回普通渲染逻辑。

优化构想

针对桌面图标点击启动动画、系统弹窗、页面转场这类起止点确定、运动轨迹完全可预知的确定性动画:

1. 在动画触发瞬间,根据完整运动轨迹,预计算整个动画周期控件会覆盖的最大像素包围盒,生成虚拟渲染模子。GPU限定仅在该模子区域内执行像素渲染,模子以外区域跳过渲染计算,控件运动被约束在模子边界之内。

2. 当动画播放中途被新动画打断,不直接销毁原有模子;将旧动画模子与新动画的预计算模子做包围盒并集合并,生成可以完整容纳两段全部轨迹的全新总模子。GPU继续沿用合并后的模子作为渲染限制,避免控件画面被异常裁切,继续保留裁剪优化收益。

强制保护边界(非常关键)

1. 仅对轨迹可预知的确定性系统UI动画生效;带物理回弹、拖拽、惯性的交互动画,不启用本机制,沿用原有渲染逻辑。

2. 设置打断次数阈值:短时间内连续多次动画打断,模子持续膨胀接近全屏时,直接放弃模子合并,退回原有逐帧裁剪逻辑,避免优化失效。

3. 增加CPU负载保护:若当前系统CPU负载超过阈值,放弃模子合并,优先保障动画流畅。

4. GPU硬件仅支持矩形裁剪,无法实现跟随轨迹的异形轮廓裁剪,模子为轴对齐矩形包围盒。

5. 优先系统内部UI生效;第三方应用暂不支持。

预期收益

视觉效果保持不变;减少GPU无效像素渲染,降低动画阶段GPU负载,提升高负载场景下系统动画稳定性,带来小幅功耗收益。
@性能研发陈立庚 @MagicOS流畅橙子 @性能_阿勇 @MagicOS流畅李同学
建议投票
18 人已参与
支持
反对
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表