OpenGL Texture Performance Question
Hi
Let me describe my question.
I have 2D drawing and 3D drawing using OpenGL in Windows. I have one 2D texture that displays images from my webcam using glTexSubImage2D function.It is displaying images at 25 frame/sec. I am drawing some 3D objects On texture.
Everything works fine but i am using lot of CPU + RAM for all this process. I am updating 1.3 MP data in every frame for 25 frame/second.
So Is there any method that i can do faster like GDI drawing StretchDIBits functions ?
As idinev mentioned, try to load the video stream directly into a PBO, instead of using the system memory to store the video stream. Then, copy the pixel data from the PBO to the texture by using glTexSubImage2D().
On my ATI card, I got ~790 MB/s transfer rate with PBO and ~250 MB/s without PBO. It is 3 times more throughput.
Here is my test program. Test yourself:
pboUnpack.zip
On my ATI card, I got ~790 MB/s transfer rate with PBO and ~250 MB/s without PBO. It is 3 times more throughput.
Here is my test program. Test yourself:
pboUnpack.zip
Hi songho
I had test PBO. But my graphic adaptor is not support PBO. Without PBO is using 50 to 60 % CPU for displaying 1024x1024 texture. Because i had released my software using glTexSubImage2D functions all users are using OnBoard Graphic Controller like Intel, and onboard graphic will not support some extensions.
So i need some lower level API to do this job faster.
I had test PBO. But my graphic adaptor is not support PBO. Without PBO is using 50 to 60 % CPU for displaying 1024x1024 texture. Because i had released my software using glTexSubImage2D functions all users are using OnBoard Graphic Controller like Intel, and onboard graphic will not support some extensions.
So i need some lower level API to do this job faster.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement