Shared Graphics Memory - Advanced Question


  1. Posts : 4
    Windows 7 Pro x64
       #1

    Shared Graphics Memory - Advanced Question


    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


  2. Posts : 6,879
    Win 7 Ultimate x64
       #2

    Can save you a bit of trouble,

    Video Memory Virtualization - A Brief Guide

    including a link to the white paper on how it works.
      My Computer


  3. Posts : 4
    Windows 7 Pro x64
    Thread Starter
       #3

    Thanks stormy13 I will post here again once I have read/tried that information.
      My Computer


  4. Posts : 4
    Windows 7 Pro x64
    Thread Starter
       #4

    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


  5. Posts : 5,642
    Windows 10 Pro (x64)
       #5

    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


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 18:34.
Find Us