instructions were controlled by the driver and easily disabled.
With Windows 7, the system controls this function (Shared Memory) and to my knowledge, there is no hack to disable.
@TriLLi, the memory that you see allocated in DirectX is not memory that gets directly and irrevocably allocated to the graphics card but is in fact the amount of memory that the system has available to share with the graphics card if needed, it is different to TurboCache where (I believe) memory is reserved and blocked against other use. The shared memory is still managed and used by the system and only gets allocated when the graphics card actually needs it
FancyCache Cache Memory (including and especially Invisible Memory for x86), what makes these cases? If the system needs memory for the video card that was already "reserved", what can happen? A BSOD?
If in doubt check: "Control Panel\All Control Panel Items\Display\Screen Resolution" and click "Advanced Settings".
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.
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)
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.