• Advertisement
Sign in to follow this  

GL_RGBA16F_ARB -- slow ?!

This topic is 3737 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been developing a differed shading system and I have been really unhappy about it's speed... even with a primitive differed shader of just color, i.e. no lighting, the speed has been much slower... I then changed my FBO's textures to GL_RGBA8 (they were GL_RGBA16F_ARB) and bam! much, much faster, like 4 times faster... my specs are: GeForce 6600GT 128MB RAM AMD Athlon XP 3200+ 1GB RAM OS: Fedora Core 7 and Windows XP now going from GL_RGBA16F_ARB to GL_ARB8 should have been at most a 2 speed increase (that would happen if fill rate was the issue) but a factor of 4(?)... even with 7 textures attatched to the FBO (with at most 4 active at any time) under GL_RGBA16F_ARB that would come to at most 56MB of VRAM, so it was not an issue of not enought RAM on the video card... so the question is why? Has anyone else out there played with MRT's and the performance difference between GL_RGBA8 and GL_RGBA16F_ARB and GL_RGBA32F_ARB? it is a major pain, as large parts of my differed shading system now have to be reworked since GL_RGBA8 can only hold a value between 0 and 1 in each channel (At only 8 bits resolution) so this is a hassle (since I will have to caclulate the position of a pixel rather than just writing it to a buffer)...

Share this post


Link to post
Share on other sites
Advertisement
For FP16 vs INT8 many cards take 2x the time to both blend (ROP) and 2x the time to do a filtered read, these probably are not effecting your differed shader assuming that your textures are setup for nearest filtering mode with blending off when writing to your MRTs.

However with FP16, texture cache now holds 1/2 the texels, in combination with 2x the memory bandwidth to fill the cache, perhaps gives the factor of 4x slower.

Perhaps you are memory bound, grab NVidia's PerfKit and find out,

http://developer.nvidia.com/object/nvperfkit_home.html

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement