Display memory = 752mb

No. 4 KB is the page size used by the 80386 and obviously newer CPUs by default. I don't know the technical reasons for it, but it wouldn't have anything to do with cluster sizes. In the era that 4KB pages were decided on the disks would have had 512 Byte clusters.
 
I'm with Davros; this should be fixed ASAP. There will only be more and more systems going forward that exhibit this problem.

If the existing command is unfixable then why not make a new command? Virtually every gaming PC at this point will report the wrong amount of VRAM because of this.

P.S. how does Rage determine available VRAM? Is there an equivalent OGL call that is not borked / designed in the '90s?
 
I'm pretty sure rage got it wrong on my system (752mb)
but I cant check as i created a custom rageconfig.cfg

ps: there must be ways because gpu-z gets the numbers right
 
I'm fairly sure GPU-Z gets it right due to matching chip id with it's own list.
 
I'm fairly sure GPU-Z gets it right due to matching chip id with it's own list.

I don't think that's entirely true; lots of the 'same' chip came with varying quantities of ram. They didn't make one chip ID per ram configuration, and having an entire database of all possible PCI Vendor and Device ID's would be a disaster by trying to match a card ID to ram config.

And obviously there is some sort of API call that works, because device manager knows the total quantity of ram. Thus, there's a call somewhere that works, but isn't being used by games.
 
Ways to Get Video Memory
There are several ways to get the video memory size on a system. This sample demonstrates 5 methods. The first 4 are available on Windows XP or later, while DXGI is only available on Windows Vista or later.

GetVideoMemoryViaDirectDraw: This method queries the DirectDraw 7 interfaces for the amount of available video memory. On a discrete video card, this is often close to the amount of dedicated video memory and usually does not take into account the amount of shared system memory.

GetVideoMemoryViaWMI: This method queries the Windows Management Instrumentation (WMI) interfaces to determine the amount of video memory. On a discrete video card, this is often close to the amount of dedicated video memory and usually does not take into account the amount of shared system memory.

GetVideoMemoryViaDxDiag: DxDiag internally uses both DirectDraw 7 and WMI and returns the rounded WMI value if WMI is available. Otherwise, it returns a rounded DirectDraw 7 value.

GetVideoMemoryViaD3D9: This method queries D3D9 for the amount of available texture memory. On Windows Vista, this number is typically the dedicated video memory plus the shared system memory minus the amount of memory in use by textures and render targets.

GetVideoMemoryViaDXGI: DXGI is only available on Windows Vista or later. This method returns the amount of dedicated video memory, the amount of dedicated system memory, and the amount of shared system memory. DXGI is more reflective of the true system configuration than the previous 4 methods.

Best Practices
On Windows Vista or later, DXGI should always be used to query the available video memory.

I saw this in the DXSDK and thought of this thread, so I posted it. There is a sample executable that i ran and it returns the correct value (i have a one gig card)
If you have the DXSDK installed the exe is called videomemory and its in C:\Program Files\Microsoft DirectX SDK (June 2010)\Samples\C++\Misc\Bin\x86>. Run it from the command prompt.
 
Last edited by a moderator:
Back
Top