Jump to content

CTD and Performance patch ENBoost (by Boris Vorontsov)


EssArrBee

Recommended Posts

I've updated the information on the mod page regarding the memory settings. I'll post the reasoning here in a bit. I still have to update the ENBlocal INI Guide.

Reason:

Message between SkyrimTuner and Boris:

hello there!

are you sure about STEP infos on VideoMemorySizeMb here? https://wiki.step-pro...ocal_INI/Memory because i'm not anymore ;)

my conversation with Boris lately, i've asked him for VideoMemorySizeMb:

---------------------------------------------------------------------------------------------------------
Boris:
Hi. Shared video memory size is the only correct value. Minus size required for OS, it's about 350 mb for win8/10 and 170 for win7. Math VRAM+RAM-2048 is for nvidia cards with installed 8 gb ram or less, it not work with greater amount of ram, because shared vram not increasing.

Me:
to clear that up for me...
for example I have GTX 780 3GB VRAM, 16GB RAM, Win7 64
Nvidia panel is showing:

  • Dedicated VRAM 3072
  • Total Available Video Memory 10989
  • System Video Memory 0
  • Shared Video Memory 7917
VRAM+RAM-2048 would give me 17408 and that's wrong, too high.

Do you mean setting VideoMemorySizeMb to 7747 (Shared Video Memory - 170MB) or to 10819 (VRAM+Shared-170MB) like AutodetectVideoMemorySize seems to do?
And what should be used by AMD users because you told about VRAM+RAM-2048 is only for Nvidia?

Boris:
I don't know how memory is named, seems my mistake about shared, heard it name from users. Choose that one which is bigger, in your case it's "Total Available Video Memory". About amd cards - don't know anything.
---------------------------------------------------------------------------------------------------------

As it seems VRAM+RAM-2048 only for systems with 8Gb RAM or less, not for systems with 8Gb RAM or bigger.

best regards

 

Keithinhanoi thoughts:

My thoughts are to listen to Boris.

In my notes a documentation on VideoMemorySizeMb I don't have anything about which systems the VRAM+RAM-2048 equation should be used for. I assumed that you found a reliable source saying it should be used for systems with more than 8GB of system RAM, so I never questioned it.

If Boris say's the VRAM+RAM-2048 equation should only be applied to NVidia card users with systems with 8GB or less system RAM, then I would follow that recommendation.

When Boris is talking about "shared video memory" he is talking about VRAM + system RAM memory which the card's driver has allocated for use by the videocard.

In past, this number could be found by using the dxdiag utility (type dxdiag in a cmd window, click the "Save all information" button, and in the resulting text output, look for the value next to "Display Memory").

However, these days it seems that dxdiag doesn't report videocard VRAM / RAM specs correctly for many people.

For my GTX 760 in Win7-64, dxdiag gives me this:

     Display Memory: 4095 MB
   Dedicated Memory: 3072 MB
      Shared Memory: 1023 MB
...while the NVIDIA Control Panel system information gives me this:
Total available graphics memory:	11996 MB
Dedicated video memory:	4096 MB GDDR5
System video memory:	0 MB
Shared system memory:	7900 MB
Like Boris, I don't know anything about how VRAM / Display memory specs are reported for AMD cards, but I would definitely trust the NVIDIA information more than dxdiag.

The problem with "Shared system memory" is that it isn't "locked down" by Windows. It's only used as needed, which is also the way ENBoost works. You can set VideoMemorySizeMb too high, but if your actual usage never goes there, you don't have any problems.

Anyhow, if I were to follow Boris' advice, having an NVidia card on a system with 16GB of RAM, I would set my VideoMemorySizeMb no larger than 11826 (11996-170).

Nevertheless, I am personally going to stay with my setting of VideoMemorySizeMb=4095, so theoretically ENBoost only utilizes VRAM to do its thing.

My suggestion for the STEP Guide is to change the notes about the VRAM+RAM-2048 equation to follow what Boris is saying (for Nvidia users with 8GB of system RAM or lower), and consider advising NVidia users of the equation of Total available graphics memory - 170 (for win7) or 350 mb (for win8/10). Not sure about AMD's equivalent to Total available graphics memory, though.

 

Link to comment
Share on other sites

That recommendation was based on my findings. With help from hishtup, I found that if ExpandSystemMemoryX64 is set to false then Block 1 of Sheson's memory fix can be set above 512MB  (in other words, setting DefaultHeapInitialAllocMB= in SKSE.ini to more than 768) without having to set Block 2 to 512MB to avoid Skyrim crashing on startup.

 

You can read more about the potential issues with ExpandSystemMemoryX64=true in the Memory Blocks Log by Sheson thread, maybe starting with my post explaining how Sheson's Memory Blocks fix works. I'd also recommend reading through the Common CTDs, Freezes, ILS and memory issues thread as well.

 

Just note that at least one person has reported being able to set DefaultHeapInitialAllocMB= to more than 768 with ScrapHeapSizeMB=256 in SKSE.ini and did not see Skyrim crash, even though ExpandSystemMemoryX64 was set to true in enblocal.ini

 

Anyhow, if you are seeing Skyrim crash at startup, and have set DefaultHeapInitialAllocMB= to more than 768 with ScrapHeapSizeMB=256 in SKSE.ini, I would recommend setting ExpandSystemMemoryX64 to false.

I don't know if you guys tested these values but block1=1024 and block2=384 works with ExpandSystemMemoryX64=true on my rig (as expected block1=1024 and block2=256 do not).

Edited by crime_syndicate
Link to comment
Share on other sites

I don't know if you guys tested these values but block1=1024 and block2=384 work with ExpandSystemMemoryX64=true on my rig (as expected block1=1024 and block2=256 do not).

Yes, that still fits with my findings. But that additional 128MB allocated to block 2 will never actually get used (verify by taking a look at actual block 2 usage with the Memory Block Log tool.) However, you should be able to set block 1 = 1024 and block 2 = 256 and Skyrim won't crash on starting up if ExpandSystemMemoryX64=false.

 

The big question then is whether as a result of changing the ExpandSystemMemoryX64 setting, you notice any difference in performance / smoothness of rendering while playing.

Link to comment
Share on other sites

In fact I'm already following STEP recommendations and using ExpandSystemMemoryX64=false with block 1 = 1024 (because DynDOLOD) and block 2 = 256 :) I may try setting it back on true using block2 = 384 to see if there's a difference but I doubt it, to be fair my game is hardly of model of smoothness despite me trying almost every ENBoost setting combination under the sun (all ReservedMemorySizeMb values possible, enablecompression true and false, fixlag true and false etc)...

Link to comment
Share on other sites

Interesting, (although I haven't toyed with that value post knocking my VideoMemorySizeMb down from 10240 to something like 7765 due to the new recommendations from TechAngel/Boris about it) I had previously tried to do a visual testing for stutter and felt I got improvement from bumping my ReservedMemorySizeMb all the way up to 768.  I haven't played with the value since changing VideoMemorySizeMb...

 

but as Tech keeps saying, everyone's setups will vary.

Edited by oqhansoloqo
Link to comment
Share on other sites

Yes, that still fits with my findings. But that additional 128MB allocated to block 2 will never actually get used (verify by taking a look at actual block 2 usage with the Memory Block Log tool.) However, you should be able to set block 1 = 1024 and block 2 = 256 and Skyrim won't crash on starting up if ExpandSystemMemoryX64=false.

 

The big question then is whether as a result of changing the ExpandSystemMemoryX64 setting, you notice any difference in performance / smoothness of rendering while playing.

From my sparse observations, the random crashes seemed to have disappeared but that being said, I didnt focus on testing this. Its more of a random observation over the past few months. So, take it with a grain of salt.

As for performance I haven't observed any significant change.

Link to comment
Share on other sites

Nor did I notice any change from changing the ExpandSystemMemoryX64 setting from True to False. Of course, my rig seems to be a bit different (I'll brag here and say it's because of my skills at building quality systems...ahahaha!  :lol: ) as I don't even need to run ENBoost to have a smooth game with a full STEP installation plus a few personal mods on top of that.

Link to comment
Share on other sites

  • 2 weeks later...

Just to clarify on that formula for 64-bit users with 8+ GB of system RAM:

 

It's [VRAM] + [system RAM] - [2048]...

So, just to beat this horse completely and thourally into the ground - w/ GTX980 4GB card and 16GB System RAM, I get:

 

[VRAM] + {SRAM] - 2048 = videoMemorySizeMB

4096 + 16384 - 2048 = VideoMemorySizeMB

18432 = VideoMemorySizeMB

 

Does that not seem a tad bit... high? Is there any realistic cap to this equation? Just imagine someone with 4-sticks of 8GB RAM for those numbers...

 

Gonna try it anyhow and see, but... yeah.

Link to comment
Share on other sites

Just found that. Even then, the new formula still leaves me with a seemingly high value - Per my nVidia Settings, I have 12006MB Total availiable Graphics Memory. Minus the 170 for a WIN7 install still leaves 11836MB... which still seems a bit high. More realistic than the previous, no doubt, but still high.

 

Not even sure if this is what is causing my problems at the moment, honestly... I'm getting random CTDs on my new build with no major variations from my previous build. I did track down the memory block size problem, and that's solved. Based on the Memory Log, I'm not getting anywhere near the 51@MB on Block1, so I'm kinda poking around the ENBLocal settings to see if something there is hinky. I've changed the reserved setting from 512 down to 128... combined with this setting jumping from 4096 up to whatever this new value will be, hoping it corrects the issue.Ed

 

Edit Part the Second: Checking via Windows only reports 7910. Apparently, WIN and nVidia can't reach the same conclusions. I'm gonna err on the conservative side and use the WIN setting for now, unless I hear otherwise from you wonderful expert-like peeps. SHould make the value 7740?

Edited by Shadriss
Link to comment
Share on other sites

Just found that. Even then, the new formula still leaves me with a seemingly high value - Per my nVidia Settings, I have 12006MB Total availiable Graphics Memory. Minus the 170 for a WIN7 install still leaves 11836MB... which still seems a bit high. More realistic than the previous, no doubt, but still high.

 

Not even sure if this is what is causing my problems at the moment, honestly... I'm getting random CTDs on my new build with no major variations from my previous build. I did track down the memory block size problem, and that's solved. Based on the Memory Log, I'm not getting anywhere near the 51@MB on Block1, so I'm kinda poking around the ENBLocal settings to see if something there is hinky. I've changed the reserved setting from 512 down to 128... combined with this setting jumping from 4096 up to whatever this new value will be, hoping it corrects the issue.Ed

 

Edit Part the Second: Checking via Windows only reports 7910. Apparently, WIN and nVidia can't reach the same conclusions. I'm gonna err on the conservative side and use the WIN setting for now, unless I hear otherwise from you wonderful expert-like peeps. SHould make the value 7740?

7740 sounds more realistic. That's close to what mine is set to.

It's important to remember that ENBoost will only use system RAM (up to the limit you've set) when it's actually needed. You can use something like Skyrim Performance Monitor to find out how much RAM is being used between Skyrim and enbhost.exe. 

 

If you set it to 11836, though, I highly doubt all that would get used, and also I highly doubt your CTDs are related to your setting for VideoMemorySizeMB.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.