I’m experiencing some performance problems with a GeForce3 under Linux. In summary, for larger scenes (tens of thousands of triangles) application performance is a fraction of that when the same code is run under Win2k.
I’m using the latest (2313) drivers, though the problem existed with the previous (1541) as well. I have not tested older drivers.
The obvious assumption is that I’m accidentally linking Mesa instead of the NVidia libraries. However, using ldd I have confirmed that the correct libraries are linked. Rendering is clearly hardware accellerated, as the fillrate is good. Resizing the window to 1600x1200 does not affect the framerate. Also, vertex programs function correctly, confirming that that hardware is at work, and that transformation is not done in software.
Since small amounts of geometry perform similarly between Linux and Win2k, the problem may be the rate at which data is transferred to the board. Thinking AGP might be at fault (Intel 440BX at AGP 2x, incidentally) I have tried enabling agpgart under both the latest 2.2 and 2.4 kernels. I have confirmed that NVdriver is correctly compiled for each different version of the kernel, and that AGP support is recognized by it. In addition, I have disabled agpgart and tested NVidia’s own AGP implementation with both 2.2 and 2.4 kernels. None of these changes had any impact.
This is an SMP machine. Perhaps NVidia’s SMP driver support is not up to snuff?
Same code, same machine, different OS. Big difference. Any ideas? If anyone else has benchmarked equivalent performance between Linux and Win2K on simliar hardware, let me know.