Im after insight about memory allocation and how its handled on a 32bit system in order to optimize a 32bit application with large-address-aware flag set, a recent change to a somewhat dated (but good) game. The edit was prompted by the availability of 64bit systems. It followed that the app subsequently made larger memory demands over time as it was developed (presumable by people with 64bit systems), naturally, this had implications on users still using it on 32bit systems, such as BSODS. The advent of 1gb video cards may have fanned the flames here also.
To mitigate the bsods, the developers decided to compromise on texture quality, in order to reduce memory usage and ultimately, requirements but only on detected 32bit systems. High quality once was but is no longer, however it was mentioned that if users really want high quality back, they can experiment with the /3GB /userva=xxxx parameters int he boot.ini. Either that, or get a 64bit rig, which I'm against !
This is where I need some assistance in trying to balance / optimize memory allocation. I've read the relevant knowledge base articles on the Microsoft website i.e. kernel v user space, that, and also how to use the userva switch works ( for instance, recommended values are 2900 to 3030. However, there is a twist:
Say a system has a video card with 1gb video RAM. One could opt for less, say 512 but design considerations (low power card of decent performance, limits choice to cards to those made beyond 2014, by then, 1gb was simply common place). 512mb may or may not help, not sure. The system shows it has only 3.25GB of the 4GB of RAM installed, available, normal for 32bit iirc.
I guess what I'm asking here is, what is an ideal userva figure in this system. I'm still unclear about kernel space. For example, I know that windows XP takes up some 256MB tops. The game in question, was monitored to consume no more than ~650mb worst case (see screen shot). I assume that this is kernel space, as it is a graphics card utility. I have experimented with the boot.ini. Every now and then I get bsod, to be specific, the Video driver appears to runs out of space. This I gathered by reading the msft article on kernel v user space. Its highly probable thats whats causing BSODS, alongside occasional texture glitches.
At one point explorer.exe reverted to 8bit color! haha!
So what would be a good setting and how do these memory pools interact?
Edited by shortswiss, 17 April 2018 - 06:28 PM.