完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
4k输出分为两种,屏输出3840*2160@60,一种是1920x1080分辨率的UI(拉伸到3840*2160),一种是点对点的3840*2160的UI,两种都支持60fps,但会出现DDR带宽不足的问题,会出现[drm:vop_isr] ERROR POST_BUF_EMPTY irq err这种错误,随之屏幕就会出现绿条纹的闪烁画面。这里是讲60fps情况下,因为30fps是正常的。
根据官方文档《RK3399_Android7.1_Software_Development_Guide》中的《9.7 DDR 带宽导致屏闪问题 Flicker issue caused by DDR bandwidth》解决, 1、先把dmc的频率调到最高,测试无效。 2、关闭负载变频,ddr频率拉到最大,测试无效。 3、vop-pn-msch-readlatency = < /* plane_number readlatency */ 0 0x20 4 0x20 >; 这个官方解释:vop-pn-msch-readlatency 这个参数指定了两列数据,第一列为 UI 的层数,第二列为 vop 获取 ddr 使用权限的延时,这个值越小,表示越容易获取访问权限,值为 0 表示默认值(默认值为 0x80),如果出现闪屏问题,建议将值改为 0x20,这个值不建议随意修改,并且这个值如果改动 可能会影响性能。目前默认的值,只会在 UI 为 4 层的场景下,将 vop 的 ddr read lantency 改为 0x20,也就是在 4 层场景下提升 vop 对 ddr 访问的时效性,从而让 vop 更快的获取到数据。 测试1080P下UI 有效,播放4K视频没问题。3840*2160 点对点UI播放4k视频没问题,但下拉菜单会出现绿条纹。也会出现带宽问题。 解决方案: 不采取官方文档的修改,关闭负载变频,将DDR频率拉到856M. 1、hardwarerockchiplibgrallocAndroid.mk ifneq ($(filter rk3399 rk3399pro, $(strip $(TARGET_BOARD_PLATFORM))), ) USE_AFBC_LAYER = 0 //改为0 ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)),box) USE_AFBC_LAYER = 0 endif 2、devicerockchiprk3399device.mk vendor.hwc.compose_policy=0 //改为GPU合成,默认是6,HWC合成 测试反馈: 3840*2160 UI @60fps 下的测试4K视频,HWC合成的优点对高码率的视频播放更流畅,但对DDR带宽要求更高,经测试H265码率大于50000kbps的视频播放会卡顿,小于50000kbps码率的视频播放正常,可以满足需求。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
343 浏览 0 评论
696 浏览 1 评论
602 浏览 1 评论
1833 浏览 1 评论
3083 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 12:46 , Processed in 0.649898 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号