First post, by vvbee
In Direct3D performance, the G550 is slightly slower than the G400. But in OpenGL, it's generally much faster, despite sharing the G400's OpenGL ICD. Why is this?
Is the G550's pseudo hardware T&L exposed in OpenGL? As far as I know, if any game uses the built-in GL transform and/or lighting functions, OpenGL will do it in hardware if available.
Here's a few benchmarks comparing the G400 and the G550 in some OpenGL games across four systems: Pentium 133, K6-2 300, Athlon 64 @ 800 MHz, and the same thing @ 2400 MHz. The last "game" is an OpenGL program I wrote that rotates a model on the screen and computes all T&L on the CPU, without GL functions. Quake is GLQuake. All in 800 x 600 in 16-bit color, except for the last one in 32-bit color.
In Quake 1 and 2, the G550 scales tangibly further than the G400, while in Homeworld and the test app the scaling is generally even or slightly in favor of the G400.
From what I've heard, I assume Quake 1 and 2 are able to take advantage of hardware transforms when available. I don't know about Homeworld, but looking at its code, they at least use a CPU wrapper for the OGL T&L functions, but I'm not sure whether in OpenGL mode the wrapper gets fully bypassed with native GL functions.
So, it seems possible that the G550 is doing some hardware transforms. That said, I'm not sure the numbers make full sense in that way. I'd at least expect CPU transforms to outperform the G550 hardware at the higher MHz.