我的设备上有机器人。在Android完成他的加载之前我正在画画。我对DDR使用率高(平均频率过高)有异议,由cat /sys/kernel/debug/clk/measure_only_mccc_clk/clk_measure检查。
我找到了临时的解决方案--在安多伊德之前释放drm资源。但是这对我不好,因为我的图片和Android显示之间有黑色的屏幕间隔。
如果我在Android之后及时释放资源,我就会再次收到我的问题,因为DDR很高。
我检查了/sys/内核/debug/dri/0/ state的状态,找出了DDR的成功工作和失败的区别。
所以不同:
connector[168]: shared-disp-1
crtc=(null)和
connector[168]: shared-disp-1
crtc=crtc-6还有crtc的
crtc[170]: crtc-6
enable=0
active=0
planes_changed=1
mode_changed=1
active_changed=1和
crtc[170]: crtc-6
enable=1
active=1
planes_changed=1
mode_changed=0
active_changed=0所以问题是:
发布于 2021-11-30 14:46:03
所以我找到了在我的情况下如何禁用CRTC,只需要在我的程序结束时调用
bufferId = 0;
x, y = 0;
arrayOfConnectors = nullptr;
numberOfConnectors = 0;
mode = nullptr;
drmModeSetCrtc(fd, crtcId, bufferId, x, y, arrayOfConnectors, numberOfConnectors, mode);https://stackoverflow.com/questions/69740873
复制相似问题