Mussels
Freshwater Moderator
- Joined
- Oct 6, 2004
- Messages
- 58,413 (7.96/day)
- Location
- Oystralia
System Name | Rainbow Sparkles (Power efficient, <350W gaming load) |
---|---|
Processor | Ryzen R7 5800x3D (Undervolted, 4.45GHz all core) |
Motherboard | Asus x570-F (BIOS Modded) |
Cooling | Alphacool Apex UV - Alphacool Eisblock XPX Aurora + EK Quantum ARGB 3090 w/ active backplate |
Memory | 2x32GB DDR4 3600 Corsair Vengeance RGB @3866 C18-22-22-22-42 TRFC704 (1.4V Hynix MJR - SoC 1.15V) |
Video Card(s) | Galax RTX 3090 SG 24GB: Underclocked to 1700Mhz 0.750v (375W down to 250W)) |
Storage | 2TB WD SN850 NVME + 1TB Sasmsung 970 Pro NVME + 1TB Intel 6000P NVME USB 3.2 |
Display(s) | Phillips 32 32M1N5800A (4k144), LG 32" (4K60) | Gigabyte G32QC (2k165) | Phillips 328m6fjrmb (2K144) |
Case | Fractal Design R6 |
Audio Device(s) | Logitech G560 | Corsair Void pro RGB |Blue Yeti mic |
Power Supply | Fractal Ion+ 2 860W (Platinum) (This thing is God-tier. Silent and TINY) |
Mouse | Logitech G Pro wireless + Steelseries Prisma XL |
Keyboard | Razer Huntsman TE ( Sexy white keycaps) |
VR HMD | Oculus Rift S + Quest 2 |
Software | Windows 11 pro x64 (Yes, it's genuinely a good OS) OpenRGB - ditch the branded bloatware! |
Benchmark Scores | Nyooom. |
I've had to post this too many times so i thought i'd get it out in the correct forum here.
Minor edit: the below text is a bit fuzzy regarding the 2GB limit per application in 32 bit OS's, and focuses on the 4GB total in the OS. There is a 2GB cap in most programs unless they have a "2GB+ aware" flag set in the program - some games have this already (Sup com: forged alliance, for example) but many others do not, and therefore cant use more than 2GB regardless of how much address space is available - if they try to, they crash (usually mid game)
Under a 32 bit OS, you have 4GB total (OS) and 2GB per application.
Under a 64 bit application, 32 bit apps are still capped at 2GB - but if its large address aware (the 2GB+ flag i mention above) then it can use upto 4GB of ram/address space per program.
Under a 32 bit operating system (XP, vista 32) you have 4GB of address space available. Address space is different to the amount of memory in your PC.
The reason a 32 bit system can only use 3GB (or 3.25GB, or whatever number you get) of system ram is because it doesnt have enough address space left. Video cards are the most important part of a PC that uses address space.
If you had 4GB of system ram and a 1GB video card under a 32 bit operating system, each individual program could only use 3GB of that system ram (due to the video card using 1GB of address space) However there is something else most people are NOT aware of.
Under DirectX 9.0C (and lower) video card ram must be duplicated into system ram. That means if you're running on the highest settings with your new shiny 1GB video card - that 1GB of video memory must be duplicated leaving you with only 2GB left for your game.
You just went from 4GB to 2GB, only considering a single 1GB video card. Things only get worse in SLI and crossfire.
Under 64 bit you wouldnt have lost that initial 1GB of ram to the address space, so you'd have 3GB of usable ram, with 1GB used in DX9.0C games. All of a sudden those modern games which border on 1.5-2GB of ram usage are playable, without your system running like a dog.
Side note: It should be noted that DX10/10.1 does not duplicate video memory into system ram. DX10 actually helps to alleviate this issue, if your system is powerful enough to run games in DX10.
Side note 2: There is more than just video card ram that affects this. System page file uses address space, as do various parts related to the BIOS (RAID cards, sound cards with onboard ram, etc) - this is why with a 512MB video card your 32 bit OS may report 3.25GB of ram - 256MB was taken away for everything else
These are the old examples. we've since found out they were a little inaccurate.
3GB system ram usable, 2GB left in games once video card ram is duplicated.
I was PM'd to edit in a scenario with a system with 8GB+ of ram and 32 bit games. In that situation it would work the same as a 4GB OS, except with more RAM free for background tasks - even if your game is still capped at 4GB, having an extra, 4, 8 or 12GB of ram for your operating system, web browsers, and whatever work you do wont hurt.
Update:
http://support.microsoft.com/kb/940105
This link from microsoft has some good info, and fills a gap i'd missed.
You do not need to download the file mentioned, as this is already included in vista SP1 (and you should be on SP2 by now!)
This shows another side to this - 32 bit applications can only have 2GB total for the entire application, regardless of the amount of available ram and system-wide address space. so even if you have 4GB of ram and 3.5GB showing as available, if you've got a 1GB video card in a 32 bit OS you're in for a world of hurt on high settings on modern games.
Edit: W1zzard has queried the ram duplication, so i managed to find some more links - thanks to Xenos especially.
http://www.tomshardware.com/news/windows-graphics-ram-desktop-memory,7644.html
This article is talking about how the aero desktop was moved from DX9 (WDDM1.0) to DX10 (WDD1.1) and they directly mention how the old (DX9) system required a copy of video ram in system ram.
Minor edit: the below text is a bit fuzzy regarding the 2GB limit per application in 32 bit OS's, and focuses on the 4GB total in the OS. There is a 2GB cap in most programs unless they have a "2GB+ aware" flag set in the program - some games have this already (Sup com: forged alliance, for example) but many others do not, and therefore cant use more than 2GB regardless of how much address space is available - if they try to, they crash (usually mid game)
Under a 32 bit OS, you have 4GB total (OS) and 2GB per application.
Under a 64 bit application, 32 bit apps are still capped at 2GB - but if its large address aware (the 2GB+ flag i mention above) then it can use upto 4GB of ram/address space per program.
Under a 32 bit operating system (XP, vista 32) you have 4GB of address space available. Address space is different to the amount of memory in your PC.
The reason a 32 bit system can only use 3GB (or 3.25GB, or whatever number you get) of system ram is because it doesnt have enough address space left. Video cards are the most important part of a PC that uses address space.
If you had 4GB of system ram and a 1GB video card under a 32 bit operating system, each individual program could only use 3GB of that system ram (due to the video card using 1GB of address space) However there is something else most people are NOT aware of.
Under DirectX 9.0C (and lower) video card ram must be duplicated into system ram. That means if you're running on the highest settings with your new shiny 1GB video card - that 1GB of video memory must be duplicated leaving you with only 2GB left for your game.
You just went from 4GB to 2GB, only considering a single 1GB video card. Things only get worse in SLI and crossfire.
Under 64 bit you wouldnt have lost that initial 1GB of ram to the address space, so you'd have 3GB of usable ram, with 1GB used in DX9.0C games. All of a sudden those modern games which border on 1.5-2GB of ram usage are playable, without your system running like a dog.
Side note: It should be noted that DX10/10.1 does not duplicate video memory into system ram. DX10 actually helps to alleviate this issue, if your system is powerful enough to run games in DX10.
Side note 2: There is more than just video card ram that affects this. System page file uses address space, as do various parts related to the BIOS (RAID cards, sound cards with onboard ram, etc) - this is why with a 512MB video card your 32 bit OS may report 3.25GB of ram - 256MB was taken away for everything else
These are the old examples. we've since found out they were a little inaccurate.
Example configs:
32 bit
4GB system ram
1GB video card
3GB system ram usable, 2GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram here. If you dont lower texture settings, resolution, and AA you'll get pretty nasty stuttering as you run out of ram.
4GB system ram
2x1GB video cards (SLI/crossfire)
2GB system ram usable, 2GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because of how it works both cards ram is in the address space, but only one cards ram is duplicated)
64 bit
4GB system ram
1GB video card
4GB system ram usable, 3GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram. This kind of PC is the one where people claim vista x64 has no real advantage, or slower due to 64 bit using slightly more ram than 32 bit in windows itself.
4GB system ram
2x1GB video cards (SLI/crossfire)
4GB system ram usable, 3GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because of how it works both cards ram is in the address space, but only one cards ram is duplicated)
32 bit
4GB system ram
1GB video card
3GB system ram usable, 2GB left in games once video card ram is duplicated.
So that this makes sense: if your game used 512MB of video ram, you'd only have 1.5GB of system ram for the game.
If its a modern game like modern warfare 2, that game can use 900MB of video ram - hence why the game crashes on many 32 bit systems when there isnt enough ram for game and video ram.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram here. If you dont lower texture settings, resolution, and AA you'll get pretty nasty stuttering as you run out of ram.
4GB system ram
2x1GB video cards (SLI/crossfire)
2GB system ram usable, 2GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because ram isnt additive in SLI/Xfire, only one cards ram is duplicated)
64 bit
4GB system ram
1GB video card
4GB system ram usable, 3GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram. This kind of PC is the one where people claim vista x64 has no real advantage, or slower due to 64 bit using slightly more ram than 32 bit in windows itself.
4GB system ram
2x1GB video cards (SLI/crossfire)
4GB system ram usable, 3GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because ram isnt additive in SLI/Xfire, only one cards ram is duplicated)
32 bit
4GB system ram
1GB video card
3GB system ram usable, 2GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram here. If you dont lower texture settings, resolution, and AA you'll get pretty nasty stuttering as you run out of ram.
4GB system ram
2x1GB video cards (SLI/crossfire)
2GB system ram usable, 2GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because of how it works both cards ram is in the address space, but only one cards ram is duplicated)
64 bit
4GB system ram
1GB video card
4GB system ram usable, 3GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram. This kind of PC is the one where people claim vista x64 has no real advantage, or slower due to 64 bit using slightly more ram than 32 bit in windows itself.
4GB system ram
2x1GB video cards (SLI/crossfire)
4GB system ram usable, 3GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because of how it works both cards ram is in the address space, but only one cards ram is duplicated)
32 bit
4GB system ram
1GB video card
3GB system ram usable, 2GB left in games once video card ram is duplicated.
So that this makes sense: if your game used 512MB of video ram, you'd only have 1.5GB of system ram for the game.
If its a modern game like modern warfare 2, that game can use 900MB of video ram - hence why the game crashes on many 32 bit systems when there isnt enough ram for game and video ram.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram here. If you dont lower texture settings, resolution, and AA you'll get pretty nasty stuttering as you run out of ram.
4GB system ram
2x1GB video cards (SLI/crossfire)
2GB system ram usable, 2GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because ram isnt additive in SLI/Xfire, only one cards ram is duplicated)
64 bit
4GB system ram
1GB video card
4GB system ram usable, 3GB left in games once video card ram is duplicated.
2GB system ram
1GB video card
1GB system ram usable, The last 1GB would fight with the video card ram. This kind of PC is the one where people claim vista x64 has no real advantage, or slower due to 64 bit using slightly more ram than 32 bit in windows itself.
4GB system ram
2x1GB video cards (SLI/crossfire)
4GB system ram usable, 3GB left in games once video card ram is duplicated.
(SLI and crossfire only use one video cards ram. Because ram isnt additive in SLI/Xfire, only one cards ram is duplicated)
I was PM'd to edit in a scenario with a system with 8GB+ of ram and 32 bit games. In that situation it would work the same as a 4GB OS, except with more RAM free for background tasks - even if your game is still capped at 4GB, having an extra, 4, 8 or 12GB of ram for your operating system, web browsers, and whatever work you do wont hurt.
Update:
http://support.microsoft.com/kb/940105
This link from microsoft has some good info, and fills a gap i'd missed.
You do not need to download the file mentioned, as this is already included in vista SP1 (and you should be on SP2 by now!)
MS article said:On a modern operating system such as Windows Vista, applications run within their own private virtual address space. Typically, the size of the virtual address space is fixed at 2 gigabytes (GB) for 32-bit applications. How much virtual address space is available is not related to how much physical memory there is on the computer.
A modern graphics processing unit (GPU) can have 512 MB or more of video memory. Applications that try to take advantage of such large amounts of video memory can use a large proportion of their virtual address space for an in-memory copy of their video resources. On 32-bit systems, such applications may consume all the available virtual address space.
This shows another side to this - 32 bit applications can only have 2GB total for the entire application, regardless of the amount of available ram and system-wide address space. so even if you have 4GB of ram and 3.5GB showing as available, if you've got a 1GB video card in a 32 bit OS you're in for a world of hurt on high settings on modern games.
Edit: W1zzard has queried the ram duplication, so i managed to find some more links - thanks to Xenos especially.
With the introduction of DirectX 10 and Windows Display Driver Model (WDDM) in Windows Vista, it is no longer necessary for an application to maintain a copy of its resources in system memory.
http://www.tomshardware.com/news/windows-graphics-ram-desktop-memory,7644.html
This article is talking about how the aero desktop was moved from DX9 (WDDM1.0) to DX10 (WDD1.1) and they directly mention how the old (DX9) system required a copy of video ram in system ram.
Last edited: