Graphics Card Capabilities and setting graphics settings

Is there a way to find the amount of graphics memory available as well as the GPU speed?



I am attempting to adjust the graphics settings automatically based on the installed graphics card, similar to what Starcraft and World of Warcraft do. They offer the suggested graphics settings based on your computer components.

Some of this might be available if you dig a little in the OpenGL layer but these days I don’t think it does much good. Memory size and GPU speed are not the best indicators for how well a card will run. I have a newer nVidia card with smaller memory and lower clock speed than an old Quadro pro (professional grade card that cost $2000 at the time) from many years ago… for games, the new card easily runs circles around that old card.



I think the amount of work you’d put into trying to guess performance from what the driver tells you might be better spent writing some routines to test the speed of the card doing various operations and adjust based on that. Maybe have an “auto adjust” that the user could enable that spends a few seconds of game time trying out various things to see how it affects frame rate or something.

Actually the GPU’s memory doesn’t appear in the OpenGL specs at all afaik. For OpenGL there is just “OpenGL memory”, what goes to the actual card memory is decided by the driver afaik. So this might be hard to find out via the OpenGL layer.