Android系统PAGView组件和Animaiton帧动画性能比对 #3287
-
|
从公开资料搜索来看,PAGView组件的CPU性能优于Animation |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
关于 PAGView 和 AnimationDrawable(帧动画)的 CPU/内存性能对比,这里做个说明: 1. PAGView 的工作原理 PAGView 采用 GPU 实时渲染 方案,每一帧都需要进行矢量图形的实时计算和渲染。因此在循环播放期间,PAGView 会持续占用 CPU/GPU 资源,而非"只在初始化时占用 CPU"。 此外,PAGView 在移动端 UI 场景下还存在以下基础开销:
2. 推荐方案 如果您的场景是播放 WebP/APNG/帧动画 来实现动画效果,且不需要文本编辑、占位图替换等动态功能,推荐替换为 PAGImageView + PAG 文件,完成首次渲染后,可以获得较低的 CPU 占用。 对于 UI 场景(如列表、多个小动画),建议使用 PAGImageView 而非 PAGView:
此外,PAGImageView 还支持全内存缓存模式,此时基本不占用 CPU,内存占用会增加一些,属于空间换时间的策略。 3. PAG 的核心价值 PAG 是一个动效模板方案。PAGView 的核心价值在于实时渲染,支持动态替换文本和占位图。设计师在 AE 中设计好动效导出 PAG 文件后,即可通过 PAG SDK 在各平台中渲染,实现设计到开发的高效协作。 PAG 相比帧动画的优势:
4. 总结 对于性能,需要综合考量,根据不同的业务场景和需求选择合适的组件:
|
Beta Was this translation helpful? Give feedback.
关于 PAGView 和 AnimationDrawable(帧动画)的 CPU/内存性能对比,这里做个说明:
1. PAGView 的工作原理
PAGView 采用 GPU 实时渲染 方案,每一帧都需要进行矢量图形的实时计算和渲染。因此在循环播放期间,PAGView 会持续占用 CPU/GPU 资源,而非"只在初始化时占用 CPU"。
此外,PAGView 在移动端 UI 场景下还存在以下基础开销:
宽 × 高 × 4字节 × 2(双缓冲),本身就占用几十 MB 内存2. 推荐方案
如果您的场景是播放 WebP/APNG/帧动画 来实现动画效果,且不需要文本编辑、占位图替换等动态功能,推荐替换为 PAGImageView + PAG 文件,完成首次渲染后,可以获得较低的 CPU 占用。
对于 UI 场景(如列表、多个小动画),建议使用 PAGImageView 而非 PAGView:
此外,PAGImageView 还支持全内存缓存模式,此时基本不占用 CPU,内存占用会增加一些,属于空间换时间的策略。
3. PAG 的核心价值
PAG 是一个动效模板方案。PAGVie…