I wanted to know what the deal is with p-buffers and render to texture. I have noticed a couple posts about it being slow. In my own experiences it is terribly slow. A friend of mine mention that in an article explaining p-buffer’s and render to texture he thought the article reference drivers 28.40. Of course we are on 28.32, that seemed a little weird to me. In my own tests I have tried multiple p-buffer sizes and all the results were the same. Binding the P-Buffer was at least 2 or 3 times slower than doing glCopySubImage, etc. I currently am running a 1024x1024 pBuffer and using render to texture for some reflection/refraction tricks and the frame rate is around 50 fps when binding the pbuffer to GL_TEXTURE_2D and about 180 fps when doing a glCopySubImage2D.
What I am interested in is whether this is simply a busted driver (gonna fix it in 28.40 ?) or what. I have had lots of people look at the code and even nvidia’s simple render to texture tends to exhibit the same performance as my code. Its pathetic. I don’t see how not doing a copy can be 3 times slower than doing the copy.
Anyone else see a problem with this.
SO WHAT’S THE DEAL HERE !!!
Looking into it. If you could send a demo that illustrates the perf degradation, that would be great.
Sorry to be quite so vagrant Cass. It is a problem that has been seriously pissing me off. My friend Ultrix (recently posted to one of the other render to texture posts) has been having this issue on a project we are working on.
I really don’t feel the need to even send you code. Both Ultrix and I have the exact same performance with our program as with the simple render to texture demo that you released. I am sure you noticed the slow performance in that demo. But I guess for the sake of not looking bad decided not to comment on it.
Anywho, as long as this is gonna be fixed in the next driver release I am happy. Guess I will just have to wait so I will leave you alone so you can get back to optimizing the drivers.
Thanks Cass. Very much appreciated.
Out of curiosity, which card are you using in your testing?
I found a bug in the 28.32 regarding glViewport and buffer binding ( something like that ). Anyway, I installed the new 28.80 and it is fixed. I’m not sure about the performance issue ( it’s not faster in my code but I haven’t compared it to glCopyTexSubImage2D ).