Toybrick
标题:
RK3588 使用RGA的cvtColor,比使用opencv的cvtColor消耗了更多的CPU
[打印本页]
作者:
LeeFree
时间:
2022-11-15 20:45
标题:
RK3588 使用RGA的cvtColor,比使用opencv的cvtColor消耗了更多的CPU
如题,在RK3588开发板上 使用RGA的cvtcolor,比使用opencv的cvtcolor消耗了更多的CPU并且速度更快(但偶尔会更慢)。
输入是importbuffer_virtualaddr()导入的虚拟地址内存,输出是importbuffer_fd()导入的是从mpp_buffer_group中分配出的drm_buf。并分别使用wrapbuffer_handle()转换一下。
以上过程只运行一次,即运行过程中不改变输入输出源。
cvtcolor的过程会进行多次。分辨率640*512,YUV422转BGR888。
RGA方法的耗时稳定在1150±50us。
OpenCV方法的耗时在800us至1800us之间波动,cpu占用率比前者低30%左右。
希望大佬们分析一下使用RGA硬件处理CPU占用反而更高,以及有时速度比不过opencv的原因。如果有解决方法就更好了。
作者:
jefferyzhang
时间:
2022-11-18 09:49
RGA的cvtcolor是什么接口
作者:
LeeFree
时间:
2022-11-21 11:55
jefferyzhang 发表于 2022-11-18 09:49
RGA的cvtcolor是什么接口
RGA基本参照im2d_api_demo中的用法,使用的imcvtcolor(src, dst, src.format, dst.format);
cpu占用反常的问题解决了,是因为我使用了不同的线程同步方法。改为相同的方法后,使用RGA的cpu占用率是比opencv低的,低20%左右。
处理速度的问题还是原样。RGA的处理速度比较稳定。opencv有时快过rga有时更慢(opencv方法在程序启动到程序结束的过程间,处理速度是比较稳定的,程序关掉重启后,速度相较于上次启动有较大改变)
欢迎光临 Toybrick (https://t.rock-chips.com/)
Powered by Discuz! X3.3