OpenCV 3.0 + openCL + First call overhead

Se siete in transizione verso le OpenCV 3.0 vi consiglio di leggere questo post:

http://answers.opencv.org/question/67592/opencv-30-vs-opencv-249-sobel-performance/

In cui anche non volendo utilizzare OpenCL se non lo setto forzatamente a “false” ho un overhead nella prima chiamata delle funzioni di image processing.

Oltre ovviamente alla guida ufficiale:

http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html

Riporto qui di seguito la citazione nel caso qualcuno chiudesso il post:

In relation to the first call overhead can you test if it helps if you add the following in your code

#include <opencv2/core/ocl.hpp>

and then

cv::ocl::setUseOpenCL(false);

at the begining.

Yes I know that you are using cv::Mat and not cv::UMat, but I observed a similar behavior in my Code even if I use cv::Mat.

By the way, another solution might be to disable the OpenCL dynamic loader by building OpenCV with

cmake -DHAVE_OPENCL_STATIC=ON -DOPENCL_LIBRARY=... -DOPENCL_INCLUDE_DIR=....

This will ensure that OpenCL is only called if you explicitly call and OpenCL function from the ocl class.

 

OpenCV 3.0 + openCL + First call overhead