"Slow" OpenCV performance on TK1 (Shield Tablet / Android)


I have been experimenting with OpenCV on android using the new shield tablet. I have run test on a few OpenCV functions and have found that in comparison to the normal tegra optimized opencv (available for T2/3/4) the TK1 is no faster than the T4 platform. For example bilateral filtering on TK1 is only marginally faster than the T4 (Tegra note 7). Is this a normal result ? (I know that CUDA can take time to upload the image data to the GPU memory)

I have also seen libc crashes relating to memory allocation when attempting some CUDA accelerated functions like gaussian blur. Also the first 2-10 frames are processed very slowly (for example 1-2 seconds when all other frames are processed in 300ms)

FYI :-

  • All openCV code is implemented within a JNI based on the CUDA FAST_GPU example
  • I am accessing the "CUDA" functions the same as the normal functions but with a GpuMat over a Mat