diff --git a/blog/_posts/webav/webcodecs-performance-benchmark/index.md b/blog/_posts/webav/webcodecs-performance-benchmark/index.md index 3580b3b1..44e943b2 100644 --- a/blog/_posts/webav/webcodecs-performance-benchmark/index.md +++ b/blog/_posts/webav/webcodecs-performance-benchmark/index.md @@ -34,7 +34,7 @@ _注:WebAV 是基于 WebCodecs 构建的 SDK,在 Web 平台**创建/编辑 ## WebCodecs 性能表现 -数字是合成视频消耗的时间,单位 s +数字是合成视频消耗的时间(单位 秒),**WebAV 性能数据以后文最新版为准** ![benchmark](./benchmark.png) _注 1:本地合成(WebAV、ffmpeg、剪映 APP),跟设备的硬件配置强相关;云端合成(剪映 Web),跟服务资源分配的资源强相关_ @@ -49,9 +49,8 @@ _注 2:剪映 APP 是由官方下载器自动安装的,有个 4.1.0 版本 ### 总结 1. 结果**在 MacBook Pro、高性能设备上是乐观的**,与 Native APP 性能表现在同一水准 -2. WebCodecs API 能利用硬件加速,与中低性能的 Win 设备有一定差距 -3. 设备性能越差,WebAV 性能表现劣化越快 -4. WebAV(WebCodecs) 还存在优化空间 +2. WebCodecs API 能利用硬件加速,在中低性能设备上跟 Native 有一定性能差距 +3. WebAV 近期才开始性能优化,WebCodecs 方案还存在一定的优化空间 关注 WebAV(WebCodecs) 性能优化数据的同学,可以订阅该 [文章评论对应的 issue](https://github.com/hughfenghen/hughfenghen.github.io/issues/205) 以接收更新。 @@ -67,13 +66,13 @@ _以下记录一些笔者的经验,欢迎读者讨论与补充_ 比如,可以提前准备好帧数据,一旦开始合成视频,要让编码器持续工作,让编码队列有不间断的视频帧供给。 但需要注意控制好内存/显存占用,不要提前解码太多数据; -编码队列也不能太大,避免打爆显存,阅读后文*控制显存占用* +编码队列也不能太大,避免打爆显存,详情阅读后文**控制显存占用** ### 优化内存占用 音视频文件体积通常会比较大,如果将整个文件加载到内存中将占用过多内存空间,导致频繁 GC 降低性能,加载特别大的音视频文件还会溢出导致错误或崩溃。 -可以将视频文件写入到 OPFS(私有源文件系统),按需读取到内存中。 +可以将视频文件写入到 OPFS(私有源文件系统),按需读取到内存中; [WebAV][1] 依赖了 [opfs-tools][3] 来操作私有源文件,大幅降低了内存占用。 ### 优化内存分配