Sign in to follow this  

How to read the amount of dedicated video memory?

This topic is 3856 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone, I would know how to read the amount of dedicated video memory using my application. I tried reading the DDCAPS (using DirectDraw), but I could only get the total video memory (dedicated + shared). I also could not find anything useful reading the CAPS of the D3D9Device. Best thanks to everyone if someone can help me.

Share this post


Link to post
Share on other sites
You can't. The reason is that you shouldn't do anything different according to the amount of video memory. What if it's some integrated chipset with no video memory, and uses system memory instead?

Share this post


Link to post
Share on other sites
Thanks for the answer, but... if one has no video memory, dedicated video memory is simply equal to zero.
There must be a way to read it, since the DirectX Caps Viewer is able to do it (DirectDraw Devices -> Memory -> Video (local)).

Share this post


Link to post
Share on other sites
Like Steve said, the amount of memory on the card, which I assume is what you're after, is not a very useful value. It does potentially provide some useful info in XP, but it will provide less and less useful info in the future. Vista is already using your card for 3D, and its driver model is using a form of virtual memory for the card. In the future, better and better virtual memory schemes will be available on Vista. It makes no sense to me to check the amount of RAM on the card in such a situation.

Share this post


Link to post
Share on other sites
I concur with the other replies - knowing the exact amount of video memory is a largely useless statistic. It's importance is probably only due to the IHV's marketing departments.

The number of odd things that hardware/drivers can do and the fact that it's a shared resource means you can't accurately measure it (how do you know when it's started paging memory out for you?) and even if you could you can't accurately use that result for resource management.

However, you can use the DirectDraw/Direct3D methods to get a rough idea so you can classify a device as low/medium/high capacity. That would be a reasonably valid tactic, but trying to differentiate between the 256mb/320mb cards might be too granular.

Quote:
In the future, better and better virtual memory schemes will be available on Vista. It makes no sense to me to check the amount of RAM on the card in such a situation.
I agree, but purely as trivia - DXGI seems to expose much more information about dedicated/shared and system RAM. For example, mine accurately lists 640mb VRAM, 255mb System (standard for Nvidia) and 0mb shared.

hth
Jack

Share this post


Link to post
Share on other sites

This topic is 3856 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this