首页»版块 MagicOS MagicOS 建议新增推挤式打断动画,优化手势操作中途的动画截断生 ...

建议新增推挤式打断动画,优化手势操作中途的动画截断生硬问题

[复制帖子标题和链接]

1350

数码爱好者  LV7  发表于 昨天 19:48 江苏 来自:荣耀Magic7 Pro

现状问题

当我们做手势操作,动画还没有播放完毕,立刻执行下一个系统手势动作时,上一段正在运行的动画会直接强制终止。画面会突然跳变,过渡割裂,视觉上不够连贯。

举例合适场景(不会干扰正在浏览的App页面内容):

1. 上滑返回退出应用的动画还在运行,中途立刻上滑进入多任务后台

2. 在多任务卡片滑动动画播放中途,直接点选另一张应用卡片

3. 打开应用的过渡动画还没结束,中途手势返回桌面

以上都是系统层级窗口切换,不会挤压破坏App内部浏览内容。现在旧动画直接半路掐断,画面有突兀一跳。

构想

不要直接销毁正在播放的系统窗口动画。
当触发新的系统手势动作,新的窗口动画开始入场时,顺着新动画的运动方向,把旧的系统窗口顺势向外推挤出去,新旧两套窗口动画同步联动运行。

实现思路:

1. 在琉光图层渲染管线内部增加这套推挤处理逻辑。发生动画打断一瞬间,CPU只做一次判断校验,把冲击力、阻尼、最大偏移距离、参与动画的系统图层一次性传给图形渲染层。

2. 后续每一帧推挤产生的位移、速度衰减变化,交给图形渲染层完成运算,不再需要CPU每一帧反复计算、下发位置指令。

3. 旧窗口被推到最大偏移边界之后,平滑淡出消失,而不是瞬间直接消失。

4. CPU保留管控权限,如果用户手指再次触摸屏幕、触发安全弹窗,可以随时终止这套推挤动画。

限制条件(规避异常画面)

1. 只用于系统窗口切换场景:手势返回、多任务卡片切换、应用打开/返回桌面过渡动画。App内部页面、锁屏、密码弹窗、输入法键盘不开启,沿用原有逻辑,不干扰软件内浏览内容。

2. 只有新旧两套动画运动方向相近匹配的时候,才启用推挤效果;方向冲突,直接退回传统打断逻辑,避免画面错乱。

3. 设置最大推挤偏移阈值,窗口不能无限往外偏移,达到上限后旧窗口直接淡出退场。

4. 性能偏弱的机型自动关闭该效果,做降级处理,保障帧率与续航。

预期效果

消除系统切换动画半路腰斩、画面跳变的现象,转场连贯自然,更贴合现实物理感受,提升系统动效质感。
@MagicOS流畅橙子 @性能_阿勇 @MagicOS流畅李同学
建议投票
19 人已参与
100%支持
0%反对
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表