I use the new VPI 1.1 with python 3.6 on a B01 nano with JetPack 32.6.1.
My problem is, that all VPI is much slower compared to OpenCV on the CPU (preinstalled version).
At the moment I use the rescale alog 3x in my program, grayscale image 4k downscale.
If I use OpenCV on CPU I got 0.7 - 2.1ms duration time, with VPI CUDA 16 - 23ms and VPI CPU 8 - 14ms.
So the current OpenCV CPU version is much faster then VPI, even VPI CPU is faster then VPI CUDA.
I have an overall framerate for my system and this corresponds to the speed differences of the used algos.
Here part of my code:
start_tick_vpi = time.perf_counter() if constants.USE_VPI: tmp_vpi = vpi.asimage(image_corrected).rescale((new_size, new_size), backend=vpi.Backend.CUDA, interp=vpi.Interp.NEAREST) img_tmp = tmp_vpi.cpu() else: img_tmp = cv2.resize(image_corrected, (new_size, new_size), interpolation=cv2.INTER_NEAREST) utility.print_timing(start_tick_vpi, "VPI rescale", console_print=True)
The vpi.clear_cache() I do in my main program one time each frame, no difference if I do it after each vpi use.
I tried your clocks.sh and jetson_clocks, no difference in speed (I use external 6A psu with full speed mode).
If I use VPI I can see a drop of CPU usage but the VPI commands are way to slow.