Toybrick

标题: RK3399的RGA使用问题 [打印本页]

作者: 18922203168    时间: 2020-7-13 14:27
标题: RK3399的RGA使用问题
大家好,我对RGA模块有点没搞明白啊。
按照我的理解,RGA实际上是一块协处理器,能够分担一部分运算量,降低CPU的负荷。
但RGA的API接口都是阻塞式的,代码调用RGA函数之后就等在那里,那和用CPU来计算有何不同呢?CPU不是在空转吗?负荷也没有降低啊。
是否应该提供一些非阻塞式的接口,通过中断或者回调来通知应用层计算完成呢?
这一点我确实没有搞明白,望技术人员释疑,谢谢!

作者: jefferyzhang    时间: 2020-7-13 15:29
库是给小白用的,所以是最简单阻塞的,实际上rga是可以异步的,
但意义不大,你总得等结果才能进行下一步。

RGA的优势是:
1.速度极快,4k转码、旋转、缩放,仅需要几ms,你用cpu这里至少要大几十ms
2. 多线程来弥补RGA使用空闲,同时来10路试试?CPU这情况下毫无优势。
3. RGA不占用CPU资源,是把当前线程阻塞了,但是他并不占用cpu,当前线程只是被hangup了而已。其他线程依然在运行。
4. 功耗极低,同一个运算类型 RGA肯定是比CPU通用计算功耗发热都低的。

好不好用看你自己怎么用了,多一个处理器多一种用法,多分担了cpu一份工作
作者: 18922203168    时间: 2020-7-13 17:31
明白了,谢谢解答!




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3