I would like to stream video frames from an avi to an opengl texture as fast as possible. So I wrote four little programs that load repeatedly a texture with different method :
- with teximage2D
- with texSubImage2D
- with one PBO
- with two PBO loaded alternately
For a 640*480 texture here is the corresponding fps values :
- texImage2D : fps = 51 (loading is slower because the texture is not power of 2)
- texSubImage2D : fps = 72
- one PBO : fps = 68
- two PBO : fps = 67
Where can be the problem ? My driver implement a fake pixel buffer extension ? (my graphic card is a Intel N10 from an asus eeepc )
I join the source code (benchmark.zip).