The mapping functions for OpenGL and DirectX are really bad :( !!!
I thought that using OpenGL or Direct with CUDA can increase the speed of my program but … out of expectation…
When i run the program without calling cuda kernel and mapping functions, the speed is : 1500 fps (with OpenGL)!
void Test()
{
// My code here
}
When i run the program with map and unmap function, the speed is : 115 fps (REALLY BAD… External Image )
void Test()
{
cudaGLMapBufferObject();
// cdKernel();
cudaGLUnmapBufferObject();
// My code here
}
And the last, when i call the program kernel, the speed is : 65 fps (Unbelievable)
void Test()
{
cudaGLMapBufferObject();
cdKernel();
cudaGLUnmapBufferObject();
// My code here
}
It’s really bad because the calling of only “map” and “unmap” function can decrease the speed from 1500 fps to 115 fps… ?_? !!! (Slower than the speed when i use SetDIBitsToDevice + CUDA = 320 fps )
Can anyone explain this for me, please…!