微信团队分享:详解iOS版微信视频号直播中因帧率异常导致的功耗问题
本文由微信客户端团队rhythm分享,原题“视频号直播:如何进一步降低功耗占用?”,本文有修订和改动。 1、引言 功耗优化一直是 app 性能优化中让人头疼的问题,尤其是在直播这种用户观看时长特别久的场景。怎样能在不影响主体验的前提下,进一步优化微信iOS端视频号直播的功耗占用,本文给出了一个不太一样的答案。 2、问题背景 问题的起因是我们测试统计发现带有点赞的直播会比无点赞动画的直播 GPU 占用要高将近一倍,同时 FPS 差异也很大。 高刷屏下,PerfDog 测试显示,有点赞情况下的大部分视频号直播居然是以60fps在跑,这导致了极高的GPU占用。 但我们根本没有60fps 这么高的直播流,且绝大部分直播流都只有30fps 而已,少部分也就最高60fps,怎么到了设备上就达到了60fps? 而且这还是我们开启了强制低帧率UIViewAnimationOptionPreferredFramesPerSecond30后的效果,没开之前直接奔120fps 去了。 如下图所示 PerfDog 数据显示在 13 pro max上直播点赞期间 FPS 直奔120: 正常情况下,视频号直播里...