Jump to content

Fallout 4 Optimization and Performance Systems Explained


Recommended Posts

I didnt bother writing up an article on the precalc system after this thread surfaced, so much good info here and more all the time.

 

Just to add to whats been said in the last few posts, which ever mod that contains the top level record for the cell that loads last will take precedence.

 

A nice example is War of the Commonwealth, it makes reference to nearly all vanilla exterior cells therefore contains a copy of each cells vanilla data for everything. Loading it last will see it override all mods that make any changes to other cells, therefore cancelling out any new previs/precom generation etc. There are 2 caveats to this, one is that any mods that add new objects will be fine, their objects will load, but two is that any loose previs UVD files and loose precombined mesh files (not in BA2) will still load, as you would expect, which would then load to occlusion/old mesh bugs etc.

 

As it has been said, if you have multiple mods touching an area, you need to generate for all the mods in question. Real PITA when dealing with a lot of combinations and making patches for each.

Link to comment
Share on other sites

but two is that any loose previs UVD files and loose precombined mesh files (not in BA2) will still load, as you would expect, which would then load to occlusion/old mesh bugs etc.

 

This frustrated me for the longest time. Since I have multiple versions of my mod, I had a hard time figuring out why my own game would go crazy after updating one of my mods. It only took me about 5 times to figure it out. I felt so dumb, and then I started moving the loose files into folders with the corresponding esp name.

Link to comment
Share on other sites

There is a sort of way to do a regen and use multiple BA2s, but it can get a bit messy.

 

For example, in one CK session I generate 7 grids for Concord, I save and pack files to BA2, and I name BA2 "MyPrecalc - Gen1.ba2". Then in another session I gen 11 grids in Cambridge but when i pack my ba2 I go "Gen2". The files it brings up for packing seem to only be those made in that session, a real b&@*$ if you want to just repack it there and then (you have to now do this manually with Archive2).

 

Now if I wanna regen Sanctuary at 7 grids, I'm gonna touch my earlier Concord run. However I can pack a "Gen3" BA2 and this will take precedence. The esp will obviously be updated, from my tests this works.

 

Messy and not recommended, but it is one way to skin the cat.

Link to comment
Share on other sites

What I do, is I generate precalc, and then move all files into a folder with the esp's title. If I need to update, then I just copy the files back, update, and then move the all of the files back into the esp folder again overwriting the old files with the updated ones. I haven't run into a problem with gen 1 files not being included in updates along with the newly generated precalc files. My mod touches every settlement, and if I only have to update one settlement, the files for the others still get packed like normal.

 

Edit: One thing I have seen though, is if I have stray precalc files from another plugin, they can sometimes get packaged as well, and screw things up royally. The exception to this is DLC precalc. They only get packed if the esp refs the dlc worldspace.

Link to comment
Share on other sites

I didnt bother writing up an article on the precalc system after this thread surfaced, so much good info here and more all the time.

 

Just to add to whats been said in the last few posts, which ever mod that contains the top level record for the cell that loads last will take precedence.

 

A nice example is War of the Commonwealth, it makes reference to nearly all vanilla exterior cells therefore contains a copy of each cells vanilla data for everything. Loading it last will see it override all mods that make any changes to other cells, therefore cancelling out any new previs/precom generation etc. There are 2 caveats to this, one is that any mods that add new objects will be fine, their objects will load, but two is that any loose previs UVD files and loose precombined mesh files (not in BA2) will still load, as you would expect, which would then load to occlusion/old mesh bugs etc.

 

As it has been said, if you have multiple mods touching an area, you need to generate for all the mods in question. Real PITA when dealing with a lot of combinations and making patches for each.

 

I encountered this over the weekend testing my Coastal Cottage mod. My last house mod makes changes to the Slog diner, and I noticed some of the trees across the river from the diner flickering in and out with the Coastal Cottage mod active. Flipping the load order resolved it, not surprisingly. I never really looked at what cells the precalc for Coastal Cottage touched until I saw that. Sort of gives you an appreciation for how many cells get touched by regenerating for even simple changes to one cell, and how close together Bethesda made most of the settlements.

 

At some point I may have to go make a patch, but switching the load order solves it and for now that's good enough for me.

Link to comment
Share on other sites

What I do, is I generate precalc, and then move all files into a folder with the esp's title. If I need to update, then I just copy the files back, update, and then move the all of the files back into the esp folder again overwriting the old files with the updated ones. I haven't run into a problem with gen 1 files not being included in updates along with the newly generated precalc files. My mod touches every settlement, and if I only have to update one settlement, the files for the others still get packed like normal.

 

Edit: One thing I have seen though, is if I have stray precalc files from another plugin, they can sometimes get packaged as well, and screw things up royally. The exception to this is DLC precalc. They only get packed if the esp refs the dlc worldspace.

 

That's more or less the system I've been using to test with my "main" game install after making an archive to make sure the precalc is pulling from the archive and not loose files. Very good to know about other loose files potentially getting packed though. Never would have thought that would be a thing. One more thing to add to the checklist of stuff not to forget about.

Link to comment
Share on other sites

Yeah management and organisation is what it comes down too :/. Still a huge PITA either way. After a while you get used to it.

 

Another good practice is to centre over a cell that is a multiple of 3 when generating, regardless of where you are. This will ensure that all the adjacent cells (3x3 previs grids should I say) generate properly (it will pick up the cells outside the loaded area, I now suspect why the uExteriorCells settings is 36 is because of this, not 49 like I think I said earlier). Also just to mention for RedRocketTVs sake, do not have any meshes or textures folder present when generating, unless you intend to bake the meshes (should they present in the cell you are regening) or you want higher RAM usage having custom tex's loaded.

 

On that note, let me leave you with something that will blow your mind. I generated CrimeTown.esp, 5 grids (cell 6, -3) in the middle of downtown. I did not have any significant textures loaded for this, but check out this RAM usage:

 

ckram2.png

 

This was after the gen. Before it was 43GB total between VRAM, RAM and my super large page file (32GB). Absolutely amazed. Even more amazed by temps of my hardware ROFL. Just upgraded to 1080ti.

Link to comment
Share on other sites

Also just to mention for RedRocketTVs sake, do not have any meshes or textures folder present when generating, unless you intend to bake the meshes (should they present in the cell you are regening) or you want higher RAM usage having custom tex's loaded.

 

Not sure I follow: ANY loose mesh or texture folders, even if the mod or cell doesn't use them? Am I misunderstanding? That doesn't make sense (as in, how does that work) if that's what you mean, but it's been a long day...

 

Made an interesting discovery while testing my Coastal Cottage previs last night: found two vanilla preculling glitches that at first I assumed because of the mod. One is the top of the small boathouse just south of the Nakano residence, the other is on the bridge span over towards Parson's Creamery. Going south from the Nakano house, the top point of the boathouse is missing until you get close to it, move away and it glitches back out. The bridge glitch can be seen if you keep going south along the cliff. At the edge of the cliff just before you get to a spot with a cluster of ferals, the center span of the bridge glitches in and out just as it hits the edge of your field of vision.

 

Assuming it was the mod, I deactivated it and tested again...both were still glitching. Tested the same routine on my second test machine with no mods installed, just the DLC....did the same thing. Have to assume Far Harbor is to blame, but haven't tested without it active...wouldn't be able to test the Nakano house anyway.

 

Just something I thought worth mentioning if anyone else ends up doing work in that part of the map.

 

EDIT: I stand corrected. That bridge preculling isn't from Far Harbor. Definitely in the base game. Tested again with no Far Harbor, no mods...still disappears as described above. I have to wonder if it might be a bounding sphere issue on the LOD mesh? It only blinks out of existence when it hits the edge of the screen, and only if it is on the right side of the player...very odd.

Link to comment
Share on other sites

I mean don't have any "meshes" folder with loose meshes from other mods present in your Data directory if those other mods add new meshes to the area you are generating. Flora mods are the prime example. You will end up with big fluffy green trees (or whatever trees your flora mod has) baked into your precombineds, and they will ship with your mod regardless of whether they have that mod. I also believe physics maybe broken if this happens.

 

Previs does not calculate 100% accurately, I suspect this might be what your seeing even in vanilla. There have been times where I have had to make modifications because previs has incorrectly calculated a window or other object and lead to occlusion bugs.

 

In the case of those big fluffy trees, because they have physics usually and their branches "sway in the wind", previs only calculates for their static position as far as I can tell, because there are many occlusion bugs when those branches sway. So in short, a full blown flora mod with regenerated precalc is out of the question with the trees as they are (fake random branches that are really transparent squares with a mapped texture), unless some other work is done to optimise these trees or stop them from getting calculated at all.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...