Well, before I pull out ALL of my hair, perhaps I should ask here…
I am working on a mapping application for a military training product. I had the code working great while using my GeForce3 (Visiontek) which I’ve been using for 8 months or so.
I was just today handed an eVGA GeForce4 Ti4600 to test in its place.
I installed it and ran my app. It was terrible. I went from 50-60 fps down to 1 fps or worse.
The app is NOT optimized, got plenty of optimization to do, but it was running great on the GF3 with a representative data set. When I use the exact same data set in the new card, performance goes into the toilet. SO… I reinstalled the older GF3 drivers to see if it might make a change. Nothing.
GF3 Driver: 15.70 (win2k)
GF4 Driver: 28.32 (win2K/XP)
The app creates a winding GL_QUAD_STRIP which splits the entire earth into 6 degree wide by 8 degree tall quads (except at poles, they are 2 degrees tall) texture mapped with a single 512 x 512 low-res texture using a cylindrical (?) projection. Actually there are TWO quad strips, one for the northern hemisphere and one for the southern.
Then bitmaps and geometry info for smaller areas of the earth, say Phoenix Arizona or Northwest Poland, are read in and individual quads are defined for them. Each of the quads is textured with a unique 256 x 256 24bit texture.The whole thing is stored inside a single display list (with surface normals for lighting)
The app reports that the individual textured quads number less than 500 and the quads in the quad strip can be calculated to be around 1440.
Once again, it ran fantastic with my GF3 with 64MB ram, but the GF4 Ti 4600 with 128 MB is SUCKING on it, bad.
Am I being naive here? I can answer any questions you may have about specifics such as lighting, GL_TEXTURE_ENV modes, whatever.
I got the GF4 mainly for the added memory because the more I have the more of the earth I can map in hi res. I am not doing anything with vertex shaders, pixel shaders, or any advanced features or extensions at all.
Thanks in advance for any light you may shed on this problem.
MikeM