前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PAG 4.1 正式发布:新增支持微信小程序

PAG 4.1 正式发布:新增支持微信小程序

作者头像
陈仁健
发布2022-11-30 17:40:56
1.1K0
发布2022-11-30 17:40:56
举报

PAG 4.1 版本新增支持微信小程序,新增支持多个常用 AE 特性,如图层样式-渐变叠加、蒙版-羽化和不透明度、 亮度轨道遮罩/亮度轨道反转遮罩等。经过 2 个多月 6 个版本的迭代,PAG 4.1 版本已经趋于稳定,目前广泛应用于 QQ、小红书等头部 APP,现正式发布,欢迎大家接入使用。

4.1 版本主要修改内容

平台支持

新增支持微信小程序,目前 PAG SDK 已完成覆盖 iOS、Android、macOS、Windows、Linux、Web 和微信小程序等常用平台。

AE 特性新增支持

· 图层样式-渐变叠加

· 蒙版-羽化和不透明度

· 亮度轨道遮罩/亮度轨道反转遮罩

· 文本路径选项:路径、反转路径、垂直于路径、强制对齐、首字边距、末字边距

API 接口更新

· PAGText 增加支持 leading 和 tracking 修改

· PAGView 增加 makeSnapshot 接口,支持在 PAGView 层面获取单帧渲染数据

制品库变更

· 从 4.1 版本开始,版本号位数由之前的 4 位修改为 3 位

· iOS 端移除 avmv7 架构支持

问题修复

· 修复文本渲染模糊问题

· 修复 Android 平台外部字体注册获取失败 crash 问题

· 修复 Android 平台 ManagerFragment 获取失败引起的 crash 问题

· 修复 Android 平台部分特效场景使用 crash 问题

· 修复内存申请失败引起的 pag 文件解码 crash 问题

· 修复 Android 平台 glBufferData 使用过程中的 OOM 问题

· 修复 Web 端异步任务时 getLayerType 崩溃的问题

· 修复 Web 端多个视图使用同一个 Canvas 时销毁视图崩溃的问题

· 修复 Web 端 BMP 预合成大于 4K 分辨率时无法播放的问题

· 修复 Web 端视频解码器静态区间暂停错误的问题

· 修复 Web 端页面不可见时视频解码器播放错误

4.1 版本部分功能解读

微信小程序版本

得益于微信小程序 v2.13.0 版本开始支持类似于 Web 标准 WebAssembly 的 WXWebAssembly,在 PAG 支持 Web 平台之后,经过一段时间的努力,基于 WXWebAssembly 我们实现了 PAG 的第一个小程序版本。渲染实现框架同样基于 PAG 的 C++ 层代码,API 接口和效果与其它平台保持一致。和 Web 平台一样,我们同样需要最大化使用平台端能力来优化包体,但小程序平台 API 的差异让我们产生了不同的设计方案。

例如:

(1)Web 平台我们通过 VideoElement 实现了硬件加速解码视频的能力,但小程序平台有着更方便的 API VideoDecoder,通过 VideoDecoder 我们能准确地拿到每一帧的数据,在 VideoDecoder 之上我们封装了 VideoReader 的工具类,进行预解码缓冲,确保 BMP 预合成流畅播放。

(2)小程序平台 WebGL 存在无法直接上传其它 Canvas 纹理的情况,在绘制文字和 mask 的时候,需要通过 getImageData 获取纹理数据再上传到 WebGL,从而导致性能上有所损耗,表现不如 Web 平台。

这是小程序的第一个版本,在目前的规划中,小程序版本未来将实现基于 Worker + WebAssembly 优化多 PAG 同屏播放等优化功能,预计这些优化完成后性能是可以优于 Web 移动端平台的。

部分 AE 新增特性展示

蒙版-羽化

图层样式-渐变叠加

亮度遮罩

总结

PAG 4.1 版本新增支持了微信小程序,实现了所有常用平台(iOS、Android、macOS、Windows、Linux、Web 和微信小程序)的覆盖,同时新增支持了最近设计师高频提出的一些 AE 特性,如渐变叠加、 蒙版-羽化和不透明度、亮度轨道遮罩/亮度轨道反转遮罩等。PAG 4.2 版本我们将聚焦在最近开发同学频繁提出的 UI 列表场景性能问题,推出一个优化版本及在该场景下的推荐实现方案。PAG 的未来发展离不开大家的参与,欢迎大家积极参与到需求建议、问题反馈和源码共建中来,帮助我们持续打造更加完善的动效工作流。

微信公众号:PAG 动效

 已正式开源

 Github 地址:https://github.com/Tencent/libpag

 如果想了解、接入 PAG,欢迎访问 PAG 的官网或微信公众号

 或加入 QQ 群进行用户交流&官方互动:893379574

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PAG动效 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档