PDA

View Full Version : "Shared system memory" in Vista drivers - What is that?


FlakMagnet
01-11-07, 07:15 AM
I noticed that in the driver details in Vista, there is a "Shared system memory" value. What is this??? Is the driver 'stealing' some system RAM for the video driver??? And does that mean that if you are running 2 8800 GTXs in SLi, your system has 1.5GB less RAM available to run applications in?

It has the same value as the "Dedicated video memory" value. So for a graphics card with 768MB of RAM on it, 'Shared system memory' is also 768MB. The value 'Total available graphics memory' shows a sum of 'Dedicated video memory' and 'Shared system memory' - 1.5GB in this case.

This link points to an article that has a screenshot of the information I am refering to : http://www.theinquirer.net/default.aspx?article=36858

What's the story?

jolle
01-11-07, 08:08 AM
I think thats the amount of space in System RAM the graphics card can use if needed.
I dont think it reserves that space tho.
Preferably in games you dont exceed the onboard RAM anyhow, so I doubt its going to make any difference.
The virtual memory thing is prolly mainy targeting really low end GPUs with very little RAM, so that they can for example run Aero.
And perhaps Pro apps where being able to use gigantic textures exceeds the need for raw fps.
Dunno tho, not read a whole lot about it really.

And, since SLI doesnt double the amount of graphics memory available for a application, I think it would still adress 768mb (or what the number is) for a 8800GTX SLI setup. (both boards need the exact same data in their respective memory, so effectivly it doesnt double the amount of GDDR)

FlakMagnet
01-11-07, 10:37 AM
OK, that's not so bad if it doesn't actually reserve the memory. I can't check though as I don't have Vista on my machine. Just worried me a bit seeing that screenshot.

And I think you're right about the SLi setup too :)

DarkJedi664
01-11-07, 10:58 AM
It's part of DirectX 10. It's called Virtualized Memory (or something like that). It takes part of your system RAM, and adds it to your video RAM. Now what I really wish for, is to turn it off on the desktop, and only enable it via games. But that's just wishfull thinking.

Ancient
01-11-07, 11:43 AM
It's a virtualization of graphics memory using system ram, much in the same way system ram is virtualized in a paging file on your hard disk. In fact, in the WDDM, the graphics memory could even be virtualized to disk, though that would obviously entail a performance penalty.

Primarily the shared memory is there to enable the storage of large textures in system memory when local graphics memory doesn't have the available space for it. For those with 512MB or more of graphics memory this is usually not going to be an issue. For the people with 256MB or less, this will enable D3D10 to still provide the visuals from larger textures; textures that can't fit into their local video memory. iow, it's not really a lot different in concept than what graphics cards have done previously, where system memory has been shared though DX10 introduces some new capabilities, such as GPU interrupt, that is supposed to make this happen more seamlessly and at less of a penalty than in the past iterations of DX.

Princess_Frosty
01-11-07, 12:14 PM
I think Ancient has it more or less spot on.

Essentially allows RAM to be used as virtual GPU memory, it's something that game would use normally anyhow, anything the game requires but not imediately will be stored in the system RAM.

This does the same thing but offers a few extra benefits, games using it will no doubt have less overhead for the game executable in RAM but also make use of the virtual GPU memory.

I'm all for it if its faster, but then my card has 2x512Mb of memory so it probably wont matter for a good few generations.

jolle
01-11-07, 12:31 PM
I'm all for it if its faster, but then my card has 2x512Mb of memory so it probably wont matter for a good few generations.
Its still effectivly a 512mb card, since both sets mirror eachother.

Princess_Frosty
01-11-07, 02:28 PM
Its still effectivly a 512mb card, since both sets mirror eachother.

I know...

Thats why I said 2x512Mb and not 1024Mb

DarkJedi664
01-11-07, 03:21 PM
Ancient said exactly what I said, but just a little more in depth.

jAkUp
01-12-07, 12:43 AM
Its basically turbocache :) Too bad system ram is much slower than GDDR3.

jolle
01-12-07, 03:02 AM
I know...

Thats why I said 2x512Mb and not 1024Mb
Ah, I missunderstood the intention of that.

Princess_Frosty
01-12-07, 03:57 AM
Ah, I missunderstood the intention of that.

No problem, I understand that a lot of people think it's 1024Mb, it's a common misconception. Games dont really use more than 512Mb today anyhow so it's neither here nor there :P

Its basically turbocache Too bad system ram is much slower than GDDR3.

It might be two or three times slower than the fastest vRAM but several hundred times faster than the hard drive, it's a fairly good trade off and a sensible way of extending the vRAM.

jolle
01-12-07, 08:56 AM
yeah managed well you could prolly get away with using some system RAM aswell.
Keep textures in the distance there for example, and only send small mipmaps over the pci-e connection when needed... and rotating the textures so that only the distant ones are kept offboard.
I think the way Megatexturing in QW works might be a good way to manage it.
Obviously you cant keep a very large percentage of the texture load in RAM and preserve performance, but you could prolly get away with some of it.
Dont really know tho, but I guess time will tell.

Princess_Frosty
01-12-07, 09:40 AM
Yeah, but it doesn't just have to be distant textures (although only fetching a low res mipmap of it would help bandwidth on the PCI-E bus), it could be used for storing elemets which are not being use on screen and when a map loads or changes instead of loading from the Hard drive, it can grab what it needs from the RAM.

This would make changing levels a lot faster/smoother, loading content from the hard drive to the RAM while gaming shouldn't have an adverse effect on the FPS providing you don't rely on your pagefile too much.

Maybe this is partly how the Unreal3 engine will handle seamless map loading? (thats gonna rawk by the way)

Cyant
01-12-07, 10:34 AM
Games dont really use more than 512Mb today anyhow so it's neither here nor there :P

When I play vanguard I use between 500 and 700MB with every settings maxed depending where I play according to my G15 keyboard and Rivatuner GPU memory usage monitor.