The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Vista 32-bit 3GB vs 4GB using shared graphics memory question?

    Discussion in 'Windows OS and Software' started by techboy300, Oct 29, 2007.

  1. techboy300

    techboy300 Notebook Enthusiast

    Reputations:
    0
    Messages:
    14
    Likes Received:
    0
    Trophy Points:
    5
    Hi, if Vista 32-bit only sees about 3GB of ram and I have 4GB of ram installed in a Sony Vaio SZ670n/c with onboard and dedicated graphics cards that both share ram with system ram, will my system see more ram with 4GB than 3GB?

    Sorry if its confusing, maybe a better way of putting it is, if I have 4GB installed, will my laptop utilize the extra 1GB of ram that vista doesn't use, for the graphics card so my system will have more ram to use with 4GB vs 3GB because it doesn't need to share any ram with the graphics card? Is this true?
     
  2. Eleison

    Eleison Thanatos Eleison

    Reputations:
    1,677
    Messages:
    1,462
    Likes Received:
    0
    Trophy Points:
    55
    I understand the gist of what you're saying. You system would probably be able to utilize closer to 3 GB of RAM as actual system memory, but I doubt you would see very much difference, if any, in actual performance between having 3 GB and 4 GB in a Vista 32 environment.
     
  3. Gintoki

    Gintoki Notebook Prophet

    Reputations:
    2,886
    Messages:
    6,566
    Likes Received:
    0
    Trophy Points:
    205
    Any 32bit OS can only recognize 3.5GB so no biggie regularly but there might be a big difference if he's using something like photoshop which needs ridiculous amounts of memory for some reason. =\
     
  4. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Nope.
    If Vista can't see the last few hundred MB, it can't see them. Then it doesn't matter if you wanted to use them for game data, porn, word documents or shared graphics memory. Vista is just unable to access the last bit of RAM, no matter the purpose.

    But it's not 1GB. More like 500 MB it won't see. So having 4GB of RAM will still give you more effective memory than 3GB. It'll give you 3.5GB or so.
     
  5. chimpanzee

    chimpanzee Notebook Virtuoso

    Reputations:
    683
    Messages:
    2,561
    Likes Received:
    0
    Trophy Points:
    55
    I don't find definitive answer about this issue. On my ATI 1250 based system, I have 1G RAM which I allocate 128M in BIOS to it for graphic memory.

    In Vista, it doesn't see this 128M RAM at all (at least that is what the sysinfo said) and only 1G - 128M. So I am guessing may be these share memory IGP are OS neutral and take their memory through some hardware setting(BIOS) so it is possible that the extra 500M can be used for graphic memory.
     
  6. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Nope. They still share the same 32-bit address space, which means they have to fit into the same 4GB as everything else. And the reason Vista doesn't "see" the last 500MB is because the corresponding addresses are already in use for other purposes.

    What it comes down to is that each address can only point to one place. Either it can point to physical RAM, or it can be used for memory-mapping stuff. If it's used for the latter, then Vista still uses those addresses, it just doesn't use them as RAM.

    But in that sense, Vista does use all 4GB of addresses. It just doesn't use all 4 GB of memory.
     
  7. chimpanzee

    chimpanzee Notebook Virtuoso

    Reputations:
    683
    Messages:
    2,561
    Likes Received:
    0
    Trophy Points:
    55
    What I am not sure is if this 500M can be used by the graphic chip.

    So if I have 4G physical RAM, do I have :

    3.5G seen and used by Vista + 256M RAM used by the IGP OR
    3.5G - 256M seen and used by Vista + 256M RAM used by the IGP
     
  8. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    That's what I tried to explain. Vista does "see" all 4GB. It just decides to use some of its address space for other purposes.

    Instead of saying that Vista can't see more than 3.5GB of RAM, it's more correct to think of it like "Vista can only see 4GB's worth of addresses". It *could* use all 4GB to address memory, and it'd then be able to fully use 4GB of RAM. But then it'd have no addresses left over for other tasks, such as memory-mapping hardware and, yes, providing shared memory for your IGP. Both are tasks that require Vista to set aside a range of addresses that can't then be used to access RAM.

    Vista always sees the full 4GB address space, even if it only uses 3.5GB of RAM. Even if you only have 1GB of RAM, even. It always sees the full 4GB address space, and when reporting how much memory you have, it just subtracts all the areas that are unavailable for whatever reason (because you don't have that much RAM, or because it's using this address range for other purposes)

    If Vista already uses 500MB for memory-mapping other hardware, then it can't also use the same addresses to provide memory for your IGP.

    With an IGP using shared memory, Vista does see the memory it uses. It just doesn't make it available to applications (because it's reserved for the IGP), and so it's subtracted when it reports how much memory you have.

    At least, to the best of my knowledge, that's how it works. I'm not sure if that kind of "overlap" on the last 500MB is even theoretically possible, but even if it is, it's not exactly straightforward to implement it. So I think it's a pretty safe bet to say that no, the shared IGP memory has to be taken out of the remaining memory pool, after the first 500MB has been reserved.
     
  9. chimpanzee

    chimpanzee Notebook Virtuoso

    Reputations:
    683
    Messages:
    2,561
    Likes Received:
    0
    Trophy Points:
    55
    Why Windows only give us 3.5G ? Because the same 'HIGH MEM' reason of the old era. The upper memory have been mapped to other devices like SCSI, DMA, video RAM, BIOS etc. And these things counted from 4G downward(with the BIOS boot code at the highest AFAIK).

    That means if there is some very high end graphic device with its dedicated memory say 1G, Vista can at most use 3G memory if there is 4G installed as all address beyond that would be reserved for other purpose.

    In the IGP situation, it is not overlapping but using the supposed to be reserved video memory range. Just that instead of having its own memory, it use the main memory.

    What I don't know and can't find information is whether this mapping of 'main memory' as video memory is done through the OS. If it is done through the OS, I believe it would take from the 3.5G Vista max(so I would have less than 3.5G memory reported in Vista as usable memory). But if it is below the OS level, it may mean the extra 500M which in general is useless for a dedicated GPU situation (because that range has already been used by the GPU with its own fast memory, that is overlapping) becomes useful for share memory IGP.
     
  10. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    That is possible, yes. If you have an IGP and no dedicated VRAM, then Windows could get away with allocating fewer addresses for memory-mapping, which would allow it to utilize more RAM, which it could then in turn set aside for the IGP's shared memory.

    I thought mentioning that in my above post too, but in the end I figured that was really a different matter. Now we're talking about whether Windows reserves less memory for memorymapping if less hardware requires it. That's possible, but then it's no longer a question of IGP's. Then it's just the lack of a dedicated GPU that frees up some memory which can then be used for IGP or for anything else

    It is done by the OS.
    Virtually nothing is done through BIOS or other low-level mechanisms these days. the first thing the OS does when it boots up is overriding all the BIOS hooks with its own versions. Once the OS is up and running, there's not much left of the BIOS in actual use. (So while the BIOS might also be able to set aside memory for IGP's, that's only temporary until the OS is ready to take over)

    But even so, the absence of a dedicated GPU might free up a bit of memory, like you said, enabling Vista to use more than the usual ~3.5GB of RAM.
    It just becomes a question of (absence of) a dedicated GPU, rather than (presence of ) an IGP.