1
ohao 2020-08-23 08:49:40 +08:00 via iPhone
不知道你是什么平台和硬件
使用 intel 的 e-2288 处理器,使用编译 igpu,搭配 nvme 存储 可以快不少 使用处理器的 gpu 处理,cpu 占用资源很低 你先使用 time,确认瓶颈在哪,然后折中针对性处理 可以先 opencv vw 写内存在 gpu encoder 在写盘 |
3
fgodt 2020-08-23 08:58:25 +08:00
路子错了 既然得到的结果在 gpu 根本不应该再回到 cpu,如果你用的 gpu 是 nVidia 的那么你可以直接用 nvenc 处理成 x264 这样就很快了
|
4
icylogic 2020-08-23 10:00:58 +08:00 via iPhone
你一定要回 cpu 吗,如果都是 opencv 的 api,可以看看 cv::cuda 能不能替代。或者编码用 avcodec 直接搞,有优化余地
|
5
mcone 2020-08-23 15:38:50 +08:00
既然都已经在显存里面了,就别再回到 CPU 了,用一个支持 GPU 的库直接合完直接写入存储或者取回到内存应该会快很多了。
另外同一楼,建议看看时间瓶颈在哪里,近两三年的 opencv 好像默认是支持 GPU 加速的,我怀疑是有硬盘 IO 了……如果确实是 IO 费时多,上 SSD 或 ramdisk 之类的会好很多 |