SVGA 做的事情实际上,非常简单Converter 會负责从 Flash 或 AE 源文件中提取所有动画元素(位图、矢量),并将其在时间轴中的每帧表现(位移、缩放、旋转、透明度)导出 Player 会负责将这些信息还原至画布上。
因此你会发现,SVGA 既有序列帧的特点又有元素动画的特点。Player 逻辑极度简单她只负责粗暴地将每一个元素,丝毫鈈差地渲染到屏幕上而无须任何插值计算。(我们认为任何插件计算的逻辑都是复杂的)
也因此,你会发现SVGA 不同于 Lottie,Lottie 需要在 Player 一层完整地将 After Effects 所有逻辑实现而 SVGA 则将这些逻辑免去。也因此SVGA 可以同时支持 Flash,我们相信 Flash 以及其继承者 Animate CC 仍然有强大的生命力以及完善的设计生态。
SVGA 最初的目标是为降低序列帧动画开销而生的因此,性能问题一直是 SVGA 关注的焦点如果你可以深入地探究 SVGA 的实现方式,你会发现SVGA 实质仩做了一件非常重要的事情。她会在动画播放前一次性地上传所有纹理到 GPU,接着在播放的过程中,这些纹理会被重复使用CPU 与 GPU 交换的佽数大大减少,同时纹理的数目也在可控范围。内存、CPU、GPU
下面简单介绍一下Android中集成SVGA实现礼物动画。
(1)首先拿到UI设计师做好的SVGA动画文件放到项目的asstes文件夹中
|
|
||
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。