Project:Memory Limits of 32-bit Windows

From Step Mods | Change The Game
(Redirected from Project:STEP Articles)
Info-Logo.png

NOTE

The following notes were created well before Bethesda began any talk of updating the game engine to be natively compatible with a 64-bit architecture. At the time, there was much interest amongst key players in the Bethesda modding community to convince them otherwise.

The memory limits on 32-bit windows are somewhat different and by default, applications are limited to 2GB of "private" virtual address space (VAS) and up to 2GB more of "shared" VAS. The private:shared VAS ratio can be increased from the standard 1:1 ratio (2GB:2GB) to a 3:1 ratio (3GB:1GB) by using the IMAGE_FILE_LARGE_ADDRESS_AWARE flag. This means that Skyrim is inherently limited likewise on 32-bit Windows.

The following pertains to limits inherent to 32-bit applications running in a 64-bit Windows environment, which are effectively similar to the 32-bit OS limitations mentioned above; however, it is not clear to me whether or not a large address aware (LAA) 32-bit application has access to a full 4GB of "private" VAS or if this is effectively a combination of private:shared VAS as above. (Search using "4GB" on this thread for some useful info that still does not answer this question). ~z929669 Ixian Insignia.png Talk 01:25, July 7, 2013 (MDT)


A couple months ago we did a detailed investigation into reports that Skyrim falls apart when it starts to use at or around 3.1 gigs of RAM, and what might contribute to that. After seeing some recent discussions on the Nexus forums, we figured that we hadn't adequately publicized those results, which are the following:

  • Skyrim will crash at or around a reported 3.1 gigabytes of RAM usage, which is fairly widely known.
  • Skyrim mirrors its active textures in memory, and since it is a 32-bit application with a 4GB memory limit, this constrains the total size of modded textures that are viably usable.
  • The exact VRAM:RAM ratio is not known, but one metric reported was a texture pack taking up ~500MB VRAM would consume approximately 430MB physical RAM.
  • The memory usage figures reported by Task Manager and Skyrim monitoring tools represents the "working set" RAM assigned to the Skyrim program. This is only a partial figure for the total amount of memory in use by Skyrim, and cannot be relied upon as an indicator of true memory usage, which cannot easily be determined. As the load of modded textures drives the memory use to the 4GB limit, the partial Working Set figure tends to report somewhere around 3.1GB, but this varies, and can only be used as a rough indicator.
  • At this time, we have been unable to find any memory management solutions that can prove reliably mitigate this, and it is unlikely that any could be developed.
  • When contacted, Bethesda indicated they had no intention of addressing the issue, which they described as a fundamental problem of 32-bit applications (though it is not necessarily clear if they were aware that we were inquiring about the mirroring issue rather than RAM overall).

We present this information with the hopes that modders/mod authors will keep these limitations in mind when using/creating mods, especially texture-heavy ones. Those mods that take up less space will likely get more exposure, given that most modders will be using a heavily-modded game.

Without Skyrim's source code it is almost certain that the 3.1 gigabyte stability issue or the RAM mirroring issues will never be fixed.