多媒体性能优化(一)-减少丢帧

本文探讨了在低性能设备上使用ExoPlayer播放4k HLS视频时的丢帧问题。通过DS5、Streamline等工具分析,发现CPU资源紧张是主要原因。优化方案包括降低loader线程优先级、动态sleep机制和一次下载多个ts packet,有效减少了丢帧并改善了CPU占用。
摘要由CSDN通过智能技术生成

本文将以一个视频播放的丢帧问题为例,介绍在解决这一性能问题时的思路、所使用的工具、尝试的优化方案和一些测试的结果,具有较强的综合性。当然,我本人在性能优化方面也只是新手,欢迎大家一起讨论交流。

问题

ExoPlayer 是google推出的一款开源java播放器,包括youtube在内的很多视频服务商都在使用它,但是我们发现,在一些性能比较低的硬件平台上,使用exoplayer播放4k HLS视频时会出现大片的丢帧,视频画面也随之变得“一卡一卡的”。

假设

和其他应用不同的是,4k视频的音视频解码会消耗大量的CPU资源,同时这一工作对解码的速度是有硬要求的,如果达不到的话就会产生播放流畅度的问题。所以丢帧的原因很可能是CPU满负载,使得音视频没有足够的资源保持流畅播放。
refer to: 《Android移动性能实战》第4章

验证工具

为了验证上面提出的假设, 这里主要使用了三个工具 :

  1. DS5 & Streamline
    arm平台常用的性能分析工具, 基本的介绍和安装流程在网上都能搜到,例如搭建A

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhanghui_cuc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值