leafqycc / rknn-cpp-Multithreading

A simple demo of yolov5s running on rk3588/3588s using c++ (about 142 frames). / 一个使用c++在rk3588/3588s上运行的yolov5s简单demo(142帧/s)。
Apache License 2.0
472 stars 87 forks source link

您好,有关于RGA的问题向您请教 #35

Open evil-ac opened 8 months ago

evil-ac commented 8 months ago

我在编译成功您的代码之后,运行时终端出现如下信息,但仍然能成功运行,请问您是否遇到过类似的问题,具体信息如下: This output the user patamaters when rga call blit fail RgaBlit(1483) RGA_BLIT fail: Invalid argument RgaBlit(1484) RGA_BLIT fail: Invalid argument handl-fd-vir-phy-hnd-format[0, 88, (nil), (nil), 0, 0] rect[0, 0, 1280, 720, 1280, 720, 2560, 0] f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1] handl-fd-vir-phy-hnd-format[0, 0, 0x7f83217010, (nil), 0, 0] rect[0, 0, 1280, 720, 1280, 768, 2816, 0] f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 1]

leafqycc commented 8 months ago

Invalid argument

或许可以参考一下这里

https://gitee.com/hihope-rk3588/rk3588-librga/blob/master/docs/Rockchip_FAQ_RGA_CN.md
**Q1.8:**为什么当搭载8G DDR时,RGA效率较于4G时性能下降严重?

**A1.8:**由于部分RGA1/RGA2的IOMMU仅支持最大32为的物理地址,而RGA Device Driver、RGA2 Device Driver中对于不满足硬件内存要求的调用申请,默认是通过swiotlb机制进行访问访问受限制的内存(原理上相当于通过CPU将高位内存拷贝至复合硬件要求的低位内存中,再交由硬件进行处理,处理完毕后再通过CPU将低位内存搬运回目标的高位内存上。)因此效率十分低下,通常在正常耗时的3-4倍之间浮动,并且引入受CPU负载影响。