Jump to content

Recommended Posts

Posted

I have heard people say that this won't make any difference if you have less than 1G of vram, but I'm here to say that it does. I run in a laptop....1.5Ghz quad core with a radeon 6520g (512 dedicated and sharable up to 2G). I was running on high settings at 1024x576 and getting about 25fps on average. However, I would get a lot of stuttering and quite a few random CTDs. After using the memory patch I still only get 25fps, but I don't have any stuttering and not one CTD yet after 4 hours of play. Even though my fps didn't change it feels like it went up by at least 10 because if how smooth it runs now.

 

Sent from my HTC One using Tapatalk

Posted

I have published Memory Blocks Log on Nexus.

 

No changes to the 1.1 dll or ini posted here earlier. Mods, please exchange download link with link to Nexus version. Thanks.

 

Sheson

I long long ago gave up on skyrim. From time to time I'd check nexus to see what all was new or check out latest enb's from folks but I was content knowing that the game was worked. And then YOU happened.... And now I'm running SR:LE in its current state and loving it. I chuckle everytime I see your quote..holy cow I fixed skyrim....but thus far at least it is really holding true. Kudos to you man but damn you for awakening this modding bug again.  

 

Just had to sign in to say this. 

Posted

The new SKSE v1.7.0 alpha build has been posted.

 

At the bottom of the whatsnew list:

- thanks to sheson: added configuration of some initial pool sizes
        [Memory]
        DefaultHeapInitialAllocMB= <default heap initial allocation size in megabytes, vanilla size is 512>
        ScrapHeapSizeMB= <scrap heap size in megabytes, vanilla size is 256>

 

 

Joy!

Posted
Probably isn't going to mean much for you' date=' except hopefully increased stability.[/quote']

Indeed, it seems more stable (and without ENBoost, too!). I just wonder what kind of extra stress it can now take - textures or scripts?

Posted

The new SKSE v1.7.0 alpha build has been posted.

 

At the bottom of the whatsnew list:

- thanks to sheson: added configuration of some initial pool sizes
        [Memory]
        DefaultHeapInitialAllocMB= <default heap initial allocation size in megabytes, vanilla size is 512>
        ScrapHeapSizeMB= <scrap heap size in megabytes, vanilla size is 256>

 

 

 

Joy!

Yes, i saw it too.

 

For those who do not use a steam version, i found in the source code that you need to launch skse with the forcesteamloader parameter in order for the fix to work.

Posted

The new SKSE v1.7.0 alpha build has been posted.

 

At the bottom of the whatsnew list:

- thanks to sheson: added configuration of some initial pool sizes
        [Memory]
        DefaultHeapInitialAllocMB= <default heap initial allocation size in megabytes, vanilla size is 512>
        ScrapHeapSizeMB= <scrap heap size in megabytes, vanilla size is 256>

 

 

 

 

Joy!

Yes, i saw it too.

 

For those who do not use  a steam version, i found in the source code that you need to launch skse with the forcesteamloader parameter in order for the fix to work.

[Memory]

DefaultHeapInitialAllocMB= Is this the equivalent of memblock1? If it is, why would they say vanilla is 512?

ScrapHeapSizeMB=

Posted

 

The new SKSE v1.7.0 alpha build has been posted.

 

At the bottom of the whatsnew list:

- thanks to sheson: added configuration of some initial pool sizes
        [Memory]
        DefaultHeapInitialAllocMB= <default heap initial allocation size in megabytes, vanilla size is 512>
        ScrapHeapSizeMB= <scrap heap size in megabytes, vanilla size is 256>

 

 

 

 

 

 

 

 

 

 

Joy!

Yes, i saw it too.

 

For those who do not use  a steam version, i found in the source code that you need to launch skse with the forcesteamloader parameter in order for the fix to work.

[Memory]

DefaultHeapInitialAllocMB= Is this the equivalent of memblock1? If it is, why would they say vanilla is 512?

ScrapHeapSizeMB=

 

 

Yes it is. It only means that the default value for DefaultHeapInitialAllocMB is 512.

 

From the source code: 

#include "Hooks_Memory.h"
#include "SafeWrite.h"
#include "Utilities.h"

// greets to sheson for his work on this
// it must run before static initializers are run

void Hooks_Memory_PreloadCommit(void)
{
// these are the values used by the game
const UInt32 kVanilla_defaultHeapInitialAllocMB = 256 + 256;
const UInt32 kVanilla_scrapHeapSizeMB = 256;

// clamp to these values because going over that is stupid
const UInt32 kMax_defaultHeapInitialAllocMB = 1024 + 256;
const UInt32 kMax_scrapHeapSizeMB = 512;

// in megabytes, -256 depending on bInitiallyLoadAllClips:Animation
UInt32 defaultHeapInitialAllocMB = kVanilla_defaultHeapInitialAllocMB;
UInt32 scrapHeapSizeMB = kVanilla_scrapHeapSizeMB;

GetConfigOption_UInt32("Memory", "DefaultHeapInitialAllocMB", &defaultHeapInitialAllocMB);
GetConfigOption_UInt32("Memory", "ScrapHeapSizeMB", &scrapHeapSizeMB);

if( (defaultHeapInitialAllocMB != kVanilla_defaultHeapInitialAllocMB) ||
  (scrapHeapSizeMB != kVanilla_scrapHeapSizeMB))
{
  _MESSAGE("overriding memory pool sizes");

  if(defaultHeapInitialAllocMB > kMax_defaultHeapInitialAllocMB)
  {
   _MESSAGE("%dMB default heap is too large, clamping to %dMB. using your value will make the game unstable.", defaultHeapInitialAllocMB, kMax_defaultHeapInitialAllocMB);
   defaultHeapInitialAllocMB = kMax_defaultHeapInitialAllocMB;
  }

  if(scrapHeapSizeMB > kMax_scrapHeapSizeMB)
  {
   _MESSAGE("%dMB scrap heap is too large, clamping to %dMB. using your value will make the game unstable.", defaultHeapInitialAllocMB, kMax_defaultHeapInitialAllocMB);
   scrapHeapSizeMB = kMax_scrapHeapSizeMB;
  }

  _MESSAGE("default heap = %dMB (effective %dMB if not preloading animations)", defaultHeapInitialAllocMB, defaultHeapInitialAllocMB - 0x100);
  _MESSAGE("scrap heap = %dMB", scrapHeapSizeMB);

  SafeWrite32(0x00687E87 + 2, defaultHeapInitialAllocMB); // will eventually be multiplied by 1024 * 1024
  SafeWrite32(0x00A4E6BE + 1, scrapHeapSizeMB * 1024 * 1024); // passed directly to VirtualAlloc
}
}
Posted

Ah thank you for the explanation! With 'vanilla' they mean 'vanilla Sheson settings' I guess :P

 

I noticed in the source code that there are numerous _MESSAGE. Where will we be able to see these warnings/notifications? In skse.log?

Posted

If you look at sheson's original code, it also shows a vanilla allocation of 512MB (0x00000200) for block 1.

 

The reason why everyone referred to the default (vanilla) allocation for block 1 being 256MB is that when you use VMMap to look at private memory address allocations, there are two 256MB address blocks.

 

Sheson's original code increases the actual allocation for block1 with a value of 768MB (0x00000300), but in VMMap, it shows up as 512MB.

 

This question was asked early on in the ENB thread, and the explanation was something to the effect of this is just the way TESV.exe sets up the allocations.

 

Bottom line, the SKSE implementation is not doing anything different.

Posted

If you look at sheson's original code, it also shows a vanilla allocation of 512MB (0x00000200) for block 1.

 

The reason why everyone referred to the default (vanilla) allocation for block 1 being 256MB is that when you use VMMap to look at private memory address allocations, there are two 256MB address blocks.

 

Sheson's original code increases the actual allocation for block1 with a value of 768MB (0x00000300), but in VMMap, it shows up as 512MB.

 

This question was asked early on in the ENB thread, and the explanation was something to the effect of this is just the way TESV.exe sets up the allocations.

 

Bottom line, the SKSE implementation is not doing anything different.

Please, can you test the new skse, and tell us the result in VMMAP (or with sheson's plugin), without editing the skse.ini (aka, without adding the DefaultHeapInitialAllocMB setting in skse.ini) ? Sorry, but i actually can't...
Posted

Wait, are the default values of this set to an actual allocation of 512 or a VMMap 512? Also, what values would be changed for a VMMap 768/512 split? I'm assuming that you would just add these lines to the SKSE.ini:

 

[Memory]

defaultHeapInitialAllocMB=768

scrapHeapSizeMB=512

 

I just don't want to spread misinformation.

Posted

Wait, are the default values of this set to an actual allocation of 512 or a VMMap 512? Also, what values would be changed for a VMMap 768/512 split? I'm assuming that you would just add these lines to the SKSE.ini:

 

[Memory]

defaultHeapInitialAllocMB=768

scrapHeapSizeMB=512

 

I just don't want to spread misinformation.

i guess you have to put this lines: 

[Memory]

DefaultHeapInitialAllocMB=768

 

in skse.ini in order to have 512/256 in VMMAP, but i need to do some tests to be sure. In the code, skse authors have written:

SafeWrite32(0x00687E87 + 2, defaultHeapInitialAllocMB);
instead of:

SafeWrite32(0x00687E87 + 2, kVanilla_defaultHeapInitialAllocMB + defaultHeapInitialAllocMB);
, and the defaultHeapInitialAllocMB var is firstly initialized to kVanilla_defaultHeapInitialAllocMB var.

 

So before doing some more testing, i can not be sure of the best defaultHeapInitialAllocMB settings.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

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