Modding talk:Player Guide/Troubleshooting

From Stardew Valley Wiki
Jump to navigation Jump to search
This talk page is for discussing Modding:Player Guide/Troubleshooting.
  • Sign and date your posts by typing four tildes (~~~~).
  • Put new text below old text.
  • Be polite.
  • Assume good faith.
  • Don't delete discussions.

Wrong explanation on 32-bit memory space

This sentence in particular:

(All 32-bit programs on your computer also need to share that 3GB block, so the game may have access to much less than 3GB.)

There's a bit of nuance that makes this sentence somewhat technically incorrect.

  • On 32-bit Windows, this is true, but only if you have increased the memory space for 'userspace' processes (by using /3GB parameter or increaseuserva parameter).
  • On 'standard' 32-bit Windows, the available block size for user processes is only 2 GiB, and yes it's shared between other programs (all 32-bit, of course, because we're running on 32-bit Windows)
  • On 64-bit Windows, this is completely false. Each and every 32-bit program has their own 4 GiB "addressable memory space", totally separate from each other (although, as before, only 2 GiB will be usable unless the program was compiled with a certain flag. As long as you have enough memory in your computer, and no misbehaving programs fully consume their memory space, then the game will be able to see -- and use -- nearly all its (2 GiB) memory space.

Pepoluan (talk) 14:15, 28 May 2021 (UTC)

We only care about 64-bit Windows here, since players on 32-bit Windows can't use this. Both Stardew Valley.exe and StardewModdingAPI.exe are marked LARGEADDRESSAWARE, so in theory they should have access to a full 4GB of memory space. It'd be great to provide a more accurate explanation on the page, but do you know why players often report OutOfMemoryException errors with 1–3GB memory used despite having plenty of available system memory? For example, here's an OutOfMemoryException crash on a system with 32GB of memory with 1.2GB in use by the game. —Pathoschild (talk) 15:26, 29 May 2021 (UTC)