Shared Graphics Memory - Advanced Question

Kalid0r

New member
Local time
12:57 AM
Messages
4
Location
England
Firstly, hello everyone (I am new to this forum)

I have been struggling with "Shared System Memory" in the context of graphics/display settings in Win 7.

Having done some research I have found that several people have been asking similar questions but there does not seem to be an answer or at least I have not found it!

As far as I can tell Windows will allocate an amount of system memory to be shared between the system and the graphics card and what I would like to do is to stop it from doing this or at least have some control over it.

There are two common responses to this question when it has been posted elsewhere and just so we can avoid going down that route I will list them here:

1. "Change some setting in your BIOS".

I agree this seems like it may be the answer, this is what I first tried to do when I started out. However this is not a hardware issue. Whatever you have your graphics memory set to in BIOS (assuming you have a card that uses system memory as opposed to or in addition to its dedicated memory) there will still be an amount of shared memory set by the OS. The shared memory I am refering to is a quantity of the system memory which the OS is declaring as "Shared System Memory" in the advanced display properties. Typically this seems to be quite a lot although I have not observed a pattern as yet.

2. "Ignore it/its fine/windows will prioritise the system over graphics"

Here is the tricky one! While I have no doubt that this feature was intended to speed up performance and is supposed to prioritise the systems requirements over that of the graphical requirements this is not always the case. The bottom line is that in some cases this is a hindrance not a help. I could give examples of my reasoning here but I would rather move away from what specifically I may be trying to achieve and focus instead on the question of this shared memory.


I have tried searching through the settings available in control panel and have tried googling for something in the registry but I have reached the point where it looks like it is either not possible or I simply do not know enough about Win 7 to be able to find the answer. I cannot believe that MS would put a feature like this in and allow no control over it at all (ok so maybe I can believe that!) surely there must be some way, some setting, some program which will allow the user to have control over what their memory is being used for or at the very least how much of it?


I have deliberatly not stated the hardware I am using in here because I am at the point where I know this is not a hardware issue. If in doubt check: "Control Panel\All Control Panel Items\Display\Screen Resolution" and click "Advanced Settings". You will probably see your system is doing the same.

Any help greatly appreciated!
 

My Computer

OS
Windows 7 Pro x64

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Me
OS
Win 7 Ultimate x64
CPU
FX-8350 @ 4.6 GHz so far
Motherboard
Asus M5A97 EVO
Memory
ADATA XPG V1 Series Black 8GB DDR3 1600
Graphics Card(s)
Sapphire R9 270x Dual-X
Sound Card
Xonar DGX w/ Corsair Vengence 1300
Monitor(s) Displays
Acer S232HL Abid
Screen Resolution
1920x1080
Hard Drives
120 GB OCZ Vertex 3
500 GB Seagate 7200.12
PSU
Antec Earthwatts 650W Green
Case
Antec Three Hundred
Cooling
Cooler Master 212 EVO
Keyboard
Logitech G510
Mouse
Logitech G500s
Internet Speed
35000/3000
Thanks stormy13 I will post here again once I have read/tried that information.
 

My Computer

OS
Windows 7 Pro x64
So I have read the whitepaper and your earlier post on the subject (I wish I had found that at the start of my investigation, very nicely put!) it seems that Microsoft have issued the following explanation for how these values are reached:

TotalSystemMemoryAvailableForGraphics =
MAX((TotalSystemMemory - 512) / 2), 64MB)

As well as for the shared memory:

MaxSharedSystemMemory = TotalSystemMemoryAvailableForGraphics - DedicatedSystemMemory

SharedSystemMemory = MIN(MIN(SumOfCommitLimitOnAllApertureSegment, DXGK_DRIVERCAPS.ApertureSegmentCommitLimit), MaxSharedSystemMemory)

The eagle eyed amongst us will notice they have their brackets wrong - silly Microsoft.

What I primarily noticed is that in the whitepaper it didn't explain these calculations or the origins of the integers used in the 'TotalSystemMemoryAvailableForGraphics' calculation. Having tried these calculations in the various ways I can see that they could be interpreted with several of the systems I have access to I cannot seem to get the results to match what is happening in practice.

Example:

The machine I write this on has

8192mb of system memory
4095mb Total available graphics memory
758mb Dedicated video memory
0mb system video memory
3327mb shared system memory


If I calculate MAX(((8192 - 512) / 2), 64)

= MAX((7680 / 2), 64)
= MAX(3840, 64)
= 3840

Therefore:

TotalSystemMemoryAvailableForGraphics = 3840mb

This figure is clearly at odds with what is being reported!

Although fascinating this also hasn't got me any closer to being able to control these settings so any suggestions towards that end would be greatly appreciated.
 

My Computer

OS
Windows 7 Pro x64
Are you having problems? As long as "System Video Memory" is zero your RAM is not being used as video memory. and if you have 758 MB of dedicated VRAM then you have nothing to worry about. Well until games and applications require a huge amount of VRAM. And no, you cannot control so you can stop looking.
 

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX R4
OS
Windows 10 Pro (x64)
CPU
Intel Core i7-3930K (3.2GHz - 4.5GHz)
Motherboard
Alienware Aurora-R4 x79
Memory
4x Samsung 4GB PC3-12800 DDR3 (16GB 1600MHz)
Graphics Card(s)
Nvidia Geforce GTX 690
Sound Card
SteelSeries Siberia Elite
Monitor(s) Displays
Dell UltraSharp U3011
Screen Resolution
2560x1600
Hard Drives
Samsung 850 Pro 256 GB, Seagate 1TB Desktop Hybrid HDD, 2x Western Digital 4TB Green HDD
PSU
875W Some Dell PSU <.<
Case
Alienware Aurora ALX
Cooling
Custom Liquid Cooling (EK CPU & GPU blocks) dual EK 480RAD
Keyboard
Logitech G710+ Mechanical
Mouse
Logitech G700s
Internet Speed
Verizon Fios (50 mbps average)
Other Info
Server: Intel NUC D54250WYK: i5-4250U, 16GB, 256 GB mSATA, Windows Server 2012 R2
Back
Top