The forum has been set to read-only mode. For community discussion and questions, head over to our Discord: https://discord.taleoftwowastelands.com

Multiple memory heaps?

General mod discussion and requests.
Post Reply
User avatar
FiftyTifty
Posts: 493
Joined: Tue Apr 09, 2013 7:36 pm

Multiple memory heaps?

Post by FiftyTifty » Sun Apr 23, 2017 5:37 pm

Was browsing around the Stutter Remover mods, and I remember reading that there are several memory heaps used by New Vegas. I can recall two; there's the heap that NVSE.ini modifies, and the heap that NVSR modifies.


But what are these heaps for?


My reason for asking, is that when 3.0 comes out, I plan on having a stab at making a broad follower system. Pretty much a copy of what I did for Fallout 4, but I'd have to make a large number of NPCs have the "No Low Level Processing" flag disabled. Can't be too good for the game if a hundred odd NPCs are chucked into a 256MB heap that's already strained by TTW.


Also, the heap replacement for NVSR is bugged, right? Doesn't de-alloc, so it can cause all sorts of weirdness, and can't be put above 450MB. Wonder if changing the addresses that the game's .dll files load in would make any difference, like changing blinkw32.dll for Oblivion's Stutter Remover heap.



User avatar
jlf65
Posts: 1535
Joined: Wed Aug 10, 2016 9:10 pm

I don't know... I read in

Post by jlf65 » Sun Apr 23, 2017 7:09 pm

I don't know... I read in other threads here that using more heap worked fine, so I used these settings:


[quote]    iHeapAlgorithm = 6

    iHeapSize = 768[/quote]


and it cleared up all my problems. Ran for months with that and 137 mods without a problem.




 



User avatar
RoyBatty
Gary
Posts: 7742
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

NVSE's heap alloc is for the

Post by RoyBatty » Sun Apr 23, 2017 7:13 pm

NVSE's heap alloc is for the static heap, and NVSR manages the dynamic heap. You are correct that NVSR doesn't de-alloc correctly sometimes and that's why it crashes. It's probably fixable but someone with C++ knowledge and how heaps work would have to handle that.


dll's load dynamically wherever windows PE loader decides to load them, it's different every run, so it doesn't matter at all to change where they load unless they are set to load at a static address which is dumb for a dev to do.


Image

User avatar
FiftyTifty
Posts: 493
Joined: Tue Apr 09, 2013 7:36 pm

RoyBatty wrote:

Post by FiftyTifty » Sun Apr 23, 2017 8:16 pm

[quote=RoyBatty]


NVSE's heap alloc is for the static heap, and NVSR manages the dynamic heap. You are correct that NVSR doesn't de-alloc correctly sometimes and that's why it crashes. It's probably fixable but someone with C++ knowledge and how heaps work would have to handle that.


dll's load dynamically wherever windows PE loader decides to load them, it's different every run, so it doesn't matter at all to change where they load unless they are set to load at a static address which is dumb for a dev to do.


[/quote]


 


I thought NVSE hooked the dynamic heap and the static heap.


[code]


[MEMORY]

Defaultheapinitialallocmb=500

Scrapheapsizemb=128


[/code]


In vanilla, the default heap allocation was 256MB (?), and the game crashes when trying to allocate more space for the heap. Or something to that extent.


 


Guess we've got another dumb decision on Beth's part; It's what they did with that video player dll. Changing it to load at a higher address allows you to punt in 1024MB in OSR's heap, when it would crash above 768MB or so without tweaking the dll file.



User avatar
RoyBatty
Gary
Posts: 7742
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

It doesn't actually change

Post by RoyBatty » Mon Apr 24, 2017 4:35 am

It doesn't actually change the scrap heap because it's not used much and has no effect, it only alters the static heap.


They load dynamically like other dll's upon further testing.


Image

khumak
Posts: 139
Joined: Thu Aug 25, 2016 2:18 am

Using an ENB helps a lot if

Post by khumak » Thu Apr 27, 2017 2:12 am

Using an ENB helps a lot if you're having memory issues.



User avatar
RoyBatty
Gary
Posts: 7742
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

Unfortunately it's

Post by RoyBatty » Thu Apr 27, 2017 4:20 am

Unfortunately it's incompatible with AA/AF and other settings which some people (such as myself) won't give up.


Image

khumak
Posts: 139
Joined: Thu Aug 25, 2016 2:18 am

True.  After playing some

Post by khumak » Thu Apr 27, 2017 3:55 pm

True.  After playing some with an ENB I have noticed some annoying shimmering/flickering for some things that didn't seem to happen with OneTweak. 


I may try One Tweak again and see if it's stable enough that I don't need ENB.  I was actually surprised that with the NMC texture packs and FO/WFO, I'm using less than 1gb of video memory.  Didn't see any stats for system memory in my ENB so not sure how much of that I'm using.



Post Reply