GL_POINT_SPRITES_ARB slow w/ 6600gt, fast w/ 9800pro wth?

So I’m using point sprites, vertex buffers, interleaved arrays, pbuffers, mipmapping, vertex and fragment programs and I’m getting 4 seconds per frame using an NVidia 6600gt for about 800000 point sprites. When I run the same code in my ATI 9800 pro, I get 60 fps!!! WTH? What is the problem? I’ve heard that old ATI drivers had problems with point sprites, but I never heard anything about NVidia problems with it. My 6600gt is not PCI Express, but I have tested in a different system using one 6600gt with PCI Express with similar results.

How am I so sure the problem is with the point sprites? I have an implementation where everything is the same except that I’m using triangles - and the nvidia card is faster. I also have tested a version with GL_POINT_SPRITES_ARB off (and also texture off, otherwise the screen would be black), and the result was 18 fps for 3x800000 points. Same version with Point Sprites ON and I got 4 seconds again…

I hope to get a test run using a 6800 next week, but I think it won’t work. I did try the latest 77.72 drivers and some old 6x.xx versions as well.

Here I have the same question with code:
http://www.gamedev.net/community/forums/topic.asp?topic_id=326471

Thanks!

Read this: http://developer.nvidia.com/object/nv_ogl2_support.html

There is a section regarding point sprites on 6x00 hardware…

woohoo! success! thx thx thx thx thx!

And I just did…

glPointParameterf(GL_POINT_SPRITE_COORD_ORIGIN,GL_LOWER_LEFT);

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

“When rendering to pixel buffers (commonly called pbuffers) or frame buffer objects
(commonly called FBOs), change the GL_POINT_SPRITE_COORD_ORIGIN state set to
GL_LOWER_LEFT setting for fully hardware accelerated rendering. Using GL_UPPER_LEFT
with pbuffer and FBO rendering will force points to be transformed on the CPU.”