mipmapping in textrenderer very slow on NVIDIA hardware.

hello,

i have just tested my game on NVIDIA 7300 and changes to text that is drawn using TextRenderer is extremely slow. the rendering hangs for up to a second.
just turning mipmapping off in the TextRenderer constructor solves the problem.

the same game runs fine and smoothly on the ATI card i could test it on.

is this a known issue or should i provide a testcase?

It sounds like mipmapping via GL_GENERATE_MIPMAP isn’t hardware accelerated on that chip. To be honest I’m not sure under what conditions it is hardware accelerated. I’ve seen situations on my laptop’s graphics chip where GL_GENERATE_MIPMAP was running extremely slowly for non-power-of-two textures. This seemed to happen because we were briefly considering having OpenGL 2.0 support to be sufficient to enable mipmapping for NPOT textures, but it seems that the availability of the extension GL_ARB_texture_non_power_of_two is a better indicator of whether the hardware has true support for NPOT textures, including mipmap generation.

I suspect you would find the same behavior attempting to render an arbitrary NPOT texture for the first time.

I don’t have any good suggestions at this point. The ideal thing would probably be for JOGL to figure out more precisely when using GL_GENERATE_MIPMAP is a good idea. Failing that you can probably make a guess based on the GL_RENDERER whether you should try to enable mipmapping for the TextRenderer.

hmmm… i’m pretty disappointed by nvidia, that mipmap generation isnt hardwarce accelerated, since this makes the texturerenderer’s mipmap feature not available to a lot of users.

I’d suggest you register for their developer program and file a bug on their developer web site.