OpenGL and AGP memory

Neeyik

Homo ergaster
Veteran
While testing a FX 5900 128MB with Jedi Academy, the frame rate has dropped to near zero when using 4xAA @ 1600 x 1200 (in my own timedemo which has 15 bots in it). Considering that it runs fine at lower resolutions, I can only suspect that texture thrashing over the AGP bus is taking place.

However, in D3D applications the drop isn't so dramatic. My memory is probably completely out on this but I'm sure that in older NVIDIA drivers, OGL apps made no use of AGP memory - it was either local or system. Was this the case or did I just imagine it? If it was true, is it still the case now? Is it just NVIDIA drivers that are like this or it it an OpenGL "thing"?
 
I'd say that it's more likely that FSAA is handled differently in Direct3D than it is under OpenGL.

At a maximum, with double buffering, 1600x1200x32 w/ 4x FSAA can take up 88MB. At a minimum, it can take up 66MB. That may be enough of a difference to explain the difference in texture thrashing that occurs.

Btw, the reason to take up more memory with FSAA is so that the video card can do the downsampling at scanout, instead of doing it when swapping buffers. Doing the downsampling at scanout can be slightly better for memory bandwidth.
 
AFAIK, it's a matter of the implentation -- ie: the drivers and hardware -- rather than the API. The API is simply a series of high-level entry points and utilities used to access the video card's features. As such, features are really API independant.

Since you're testing using two different games it is difficult to tell if it's the application or the drivers that are causing the problem. UT2003 may be a somewhat better game to test this with, though even then I'm not so sure, as the D3D and OpenGL renderers are not doing the same amount of work.

However, if your tests do happen to be equaly representative of what's going on, we go back to my point about APIs. That is, that it cannot be the API's fault. Also, since everything works fine in D3D, the hardware is not to blame. That only leaves the drivers or, as I mentioned above, the game.
 
Back
Top