尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

141、DVFS动态调频在影像场景——多摄预览/录像/拍照的调频策略与功耗/性能平衡

141、DVFS动态调频在影像场景——多摄预览/录像/拍照的调频策略与功耗/性能平衡 141、DVFS动态调频在影像场景——多摄预览/录像/拍照的调频策略与功耗/性能平衡从一次诡异的掉帧说起去年夏天,某项目在双摄预览下出现间歇性卡顿,帧率从30fps掉到22fps,持续两三秒又恢复。抓trace看CPU频率,发现大核在1.8GHz和2.4GHz之间反复横跳,GPU频率也在波动。更诡异的是,掉帧期间ISP负载并不高,反而是CPU在跑一些奇怪的负载——后来定位到是某个算法库在预览通路里做了不必要的图像旋转,把CPU顶满了。这个案例让我意识到,影像场景的DVFS问题,从来不是单纯的调频策略问题,而是整个系统资源分配的问题。你调好了DVFS,算法那边加个耗时操作,一切白搭。DVFS在影像场景的特殊性影像链路和普通应用场景最大的区别在于——它是一条流水线。Sensor出帧,ISP处理,3A算法跑,编码器压缩,显示合成,每一级都有严格的帧边界。任何一级的延迟超标,都会导致整条流水线抖动。DVFS调频的粒度是毫秒级,但影像流水线的帧间隔是33ms(30fps)或16.7ms(60fps)。这意味着调频决策必须在一个帧周期内完成,否则就会影响下一帧的处理。高通平台的msm_vidc和cam_sync框架里,DVFS的触发点通常放在帧中断或VSYNC回调里,就是这个原因。另一个特殊性是——影像场景的功耗曲线不是线性的。ISP的功耗和分辨率、帧率强相关,编码器的功耗和码率、分辨率强相关,但CPU的功耗和负载的关系就复杂得多。有时候CPU频率提上去了,但负载没跟上,白白浪费功耗
返回列表