3 Replies Latest reply on Oct 11, 2010 3:20 AM by linqunzju

    Mipmapped FBO textures kills performance on radeon 5850

    TheMadoc

      Hi, we have a bad problem on the 5850 (only 5000 series board tested). Our application renders a number of textures via FBO and it performs horribly unless we disable mipmaps for these textures. We've tried every combination of glgeneratemipmaps, glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE) or specifying each mipmap level with null pointers, all cause terrible performance. The textures are not generated every frame, the bad performance is from rendering geometry using these textures in a simple shader.

      In contrast a 4670 performs a huge 30% faster with mipmaps enabled, the nvidia boards we tested all show a noticeable improvement in performance with mipmaps.

      We also have some uncompressed textures that are uploaded every frame and use glgeneratemipmaps, these perform similarly with or without mipmapping. We did notice that the 5850 never seems to perform better with mipmapped textures where all other hardware shows an improvement, normally we don't see significantly worse performance though.

      On a side note, if we call glgeneratemipmaps without enabling GL_GENERATE_MIPMAP on the textures then the call brutally crashes.

      This is with the latest drivers and also some slightly older ones.

      Some help with this issue would be greatly appreciated, we've invested a lot in the technology that relies on these textures.

       

        • Mipmapped FBO textures kills performance on radeon 5850
          pboudier

          mipmapped texture are extremely efficient in our HW, so you must be running in some unexpected behavior which is causing significant over validation. the only time where I can see a big CPU overhead is when we actually generate the mipmap, but if that does not happen every frame, then it should not be an issue.

          the best way to find out  the issue is to send a simple test case to our devrel team, and put my name in CC.

          thanks,

          Pierre B.

            • Mipmapped FBO textures kills performance on radeon 5850
              TheMadoc

              Normally, yes. I was generally impressed with the card's texture fill perf, something is obviously very wrong here but we're hardly doing anything exotic. It hadn't occured to me that it could be a CPU overhead until you mentioned the CPU. It seems that CPU usage does indeed increase dramatically with mipmapping enabled. We also tested a number of other drivers and found that the problem was worse in OGL 3.2 drivers, 10.3a preview and 10.3 WHQL both performed significantly worse with the mipmaps than 10.3 OGL4 preview, for example. The radeon 4670 has a gl 3.2 driver though and that's much faster with mipmaps than without.

              Any idea why mipmapping in general doesn't _improve_ performance? Non mipmapped texture performance matching or exceeding mipmapped performance for large textures strikes me as impossible. Also I thought the 4670 and the 5850 weren't all that different?

              Anyway, how exactly do I contact your devrel team? Posting in a public forum would not have been my first choice but I couldn't find anything else. I used to have a contact but it's been some years now. I'll see about putting a test app together.

              Thanks for the help. I also wanted to say that I really appreciate how much your opengl support has improved recently, besides this problem development on recent radeons has been a breeze, everything seems to work and really well.