科技观察汇|动画制作轻量级SDK:PAG六大优势助力开发一、传统AE设计难点及解决方案二、Lottie vs PAG三、PAG主要优势介绍四、PAG SDK端全平台接入方式五、总结( 二 )


相比于Lottie方案 , PAG不仅解决了在它在矢量动画渲染上的各种问题 , 更重要的是扩展了动画的使用场景 , PAG围绕运行时可编辑性设计了灵活的架构 , 能够完美实现动画的局部编辑替换需求 。
三、PAG主要优势介绍 PAG在运行时 , 可在保留动画效果前提下 , 动态修改替换局部的文本或占位图内容 , 甚至对任意子图层进行增删改及移动 , 极大丰富了动画素材的使用场景 , 轻松实现照片和视频模板等素材的批量化生产 。
科技观察汇|动画制作轻量级SDK:PAG六大优势助力开发一、传统AE设计难点及解决方案二、Lottie vs PAG三、PAG主要优势介绍四、PAG SDK端全平台接入方式五、总结
本文插图

PAG SDK整套方案是基于 C++ 和 OpenGL 的跨平台架构研发的 , 不依赖平台相关的UI框架 , 除了能做到跨端渲染完全一致外 , 还能轻松移植到各个原生平台 , 其中也包含服务器端的渲染能力 。
在性能方面 , PAG应用了游戏渲染里的大量的优化经验 , 设计了从中间渲染数据到局部位图的多级缓存架构 , 加上帧预测的技术 , 每帧渲染耗时平均可以做到Lottie的50%左右 。
由于采用二进制格式 , 不存在JSON的字符串解析 , 解码耗时平均比Lottie文件的快12倍 , 相同的动画内容导出文件只有Lottie一半左右大小 , 同时二进制文件格式也更容易做到单文件集成图片 , 音频 , 视频等任意资源 。
科技观察汇|动画制作轻量级SDK:PAG六大优势助力开发一、传统AE设计难点及解决方案二、Lottie vs PAG三、PAG主要优势介绍四、PAG SDK端全平台接入方式五、总结
本文插图
(数值单位:毫秒)

以下总结了 PAG 方案的六大优势:
1、文件更小
PAG是二进制文件格式 , 并采用了可变长编码整形以及动态按位聚合这些压缩技术 , 让相同动画导出的文件大小平均只有 Lottie 的一半左右(都经过zip压缩后对比) 。 PAG 除了对特效类动画的支持可圈可点 , 对矢量动画的支持也是非常优秀 , 甚至强于 Lottie 。 以一个生长动画为例 , Lottie 文件 14k , 而 PAG 文件只有1k 。
2、解码更快
由于采用二进制格式 , 不存在JSON的字符串解析 , 解码耗时平均只有Lottie文件的7.6% , 同时二进制文件格式也更容易做到单文件集成图片 , 音频 , 视频等任意资源 。
3、支持更多AE特性
PAG目前支持Lottie在移动端几乎所有的功能 , 并且额外在文本 , 遮罩 , 滤镜方面比Lottie支持更加全面 。 除了矢量导出 , PAG还增加了视频序列帧导出 , 能够支持所有的AE特性 。
4、性能更好
基于 C++ 和 OpenGL 硬件加速渲染 , 除了能做到两端渲染完全一致外 , 应用了游戏渲染里的大量的优化经验 , 从中间渲染数据到局部位图的多级缓存架构 , 每帧渲染耗时平均可以做到Lottie的50%左右 。
5、编辑性更高
除了运行时文本编辑和占位图替换功能外 , PAG还支持图层级别的任意组合修改 。 为复杂的应用场景提供更加灵活的编程扩展能力 。
6、支持服务端渲染
PAG支持服务端渲染能力 , 以C++方式接入 , 可以支持服务端照片转特效视频以及一键大片模板等功能 , 结合H5快速实现运营活动页 。
四、PAG SDK端全平台接入方式 目前PAG SDK已经支持了5个原生平台 , 包含iOS、Android、Linux、Windows和macOS等 。 而且SDK的接入非常便捷 , 可实现10分钟快速接入 。
Android端SDK为aar文件 , 支持armeabi, armv7a, arm64
iOS端SDK为framework文件 , 分为四个版本:真机版(arm64、arm64/armv7)和真机模拟器版(arm64/x64、arm64/armv7/x64)
· Android端接入
基本要求
· 支持android 4.4及以上系统
· 推荐使用gralde 3.0及以上版本编译
aar接入
1.将libpag的aar文件放置在android工程项目的libs目录下
2.添加添加aar库依赖
在app的gradle文件app/build.gradle , 添加libpag的库依赖


推荐阅读