Jump to content

Fallout 4 Optimization and Performance Systems Explained


Recommended Posts

 

So, I am wondering if you are updating the Timestamp for the Precombine, and previs files you are generating with this process inside the plugin? The game will ignore any precombine and previs file if the timestamps don't match with the plugin. I might have missed where you explained that.

 

 

The automated process handles that. Both the CombinedObjects.esp and PreVis.esp files produced by -GeneratePrecombined and -GeneratePreVisData include data updates for (PCMB, XCRI) and (VISI, XPRI, RVIS) respectively. In a nutshell, for the full-size non-shared precombines (the one CK produces now) the process looks like this with version control:

  1. CreationKit.exe -GeneratePrecombined:<esm> filtered all
  2. CreationKit.exe -CheckinPlugin:<CombinedObjects.esp> <esm>
  3. CreationKit.exe -GeneratePreVisData:<esm> filtered all
  4. CreationKit.exe -CheckinPlugin:<PreVis.esp> <esm>

 

When using the 'clean' or shared precombines (the ones that BGS generated):

  1. CreationKit.exe -GeneratePrecombined:<esm> clean all
  2. CreationKit.exe -CheckinPlugin:<CombinedObjects.esp> <esm>
  3. CreationKit.exe -CompressPSG:<esm>
  4. CreationKit.exe -BuildCDX:<esm>
  5. CreationKit.exe -GeneratePreVisData:<esm> clean all
  6. CreationKit.exe -CheckinPlugin:<PreVis.esp> <esm>

 

I should also add that these should be done with delocalized esm's otherwise one will have a bear of a time fixing up name strings in any top-level WRLD records merged back in. For instance, if one regenerates for the entire commonwealth and then merges CombinedObjects.esp back into a localized Fallout4.esm (for the truly hardcore), you're gonna have a fun time fixing the name field for Commonwealth's WRLD record (ask me how I know). On top of that, if the master is not delocalized you won't be able to checkout any cells when running with version control enabled (bVersionControl=1). The actual NIFs will be generated but the resultant CombinedObjects.esp will be empty.

 

Delocalizing the esm (i.e. byte_9 & ~0x80) you're generating data for, then merging the produced esp via -CheckinPlugin, then "relocalizing" will work.

Link to comment
Share on other sites

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

Link to comment
Share on other sites

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

While this is always a good idea, authors should be running their plugins thru xEdit none the less and ensuring such changes aren't present. VC mode seems to be better about not just including random records in plugins simply after clicking/selecting them, but should always be checked (regardless of whether doing precalc or not). I haven't watched your video but it might be of benefit to you to add such a section to it, just as a reminder to others, if you haven't already.

Link to comment
Share on other sites

 

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

While this is always a good idea, authors should be running their plugins thru xEdit none the less and ensuring such changes aren't present. VC mode seems to be better about not just including random records in plugins simply after clicking/selecting them, but should always be checked (regardless of whether doing precalc or not). I haven't watched your video but it might be of benefit to you to add such a section to it, just as a reminder to others, if you haven't already.

 

I discuss the virtues of cleaning with xEdit and show how to run the cleaning filter process.

Link to comment
Share on other sites

@kediwah, re post #381

 

|truncated| ... (ask me how I know).

A long-form NMM-inbox is headed your way, Kediwah,

I am intrigued to learn the answer to that question you ask yourself, Kediwah,

as it has implications for New Lands frameworks and or Hotswitching instance-merging 'consolidation'.

Link to comment
Share on other sites

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

I imagine that nudging happens because many folks don't know that right clicking objects will reset their alignment/angle.

Link to comment
Share on other sites

 

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

I imagine that nudging happens because many folks don't know that right clicking objects will reset their alignment/angle.

Sure. But many people are also completely unaware that they have nudged something in the first place and never check their files in xEdit to see those changes have been recorded.

 

Besides, nudging and resetting the position of something that is part of a precombine it still enough to disable them if the CK records the edit AFAIK. Have never had reason to test it myself to see if that feature removes the edit data, but I doubt that it does.

Link to comment
Share on other sites

 

 

I've put together a tutorial/demo video showing how I use layers to add items to a cell without touching precombines. I see lots of mods that add simple things like magazines to a cell but break precombines in the process because something gets nudged that shouldn't be. Hopefully someone will find it helpful. I'm sure people have other methods you can use, but this works for me and is drop dead simple.

I imagine that nudging happens because many folks don't know that right clicking objects will reset their alignment/angle.

Sure. But many people are also completely unaware that they have nudged something in the first place and never check their files in xEdit to see those changes have been recorded.

 

Besides, nudging and resetting the position of something that is part of a precombine it still enough to disable them if the CK records the edit AFAIK. Have never had reason to test it myself to see if that feature removes the edit data, but I doubt that it does.

 

If you by "resetting" mean undo/Ctrl+Z, it doesn't remove the fact that the record was edited. The only way to keep it from breaking precombineds is to quit without saving, or just use xEdit to remove the ITMs/accidental edits. Undo just makes it easier to find them, since it should be an ITM (with the possible exception of having an added layer).

Link to comment
Share on other sites

  • 2 weeks later...

So I've just undertaken an interesting experiment, thought I'd share it.

 

I'm making a little mod for myself that'll expand the build area of Sanctuary. I'm regenerating for the sake of making it properly scrappable. So I start out regenerating precombineds with VC mode. I try to gen Vis, nothing happens. Curious, I look to xEdit and I see that it hasn't updated any of the timestamps, and it has almost perfectly stripped all the objects with recipes etc. Not a single new mesh record (albeit it produced some new mesh files, 138MB at 9 Grids, pretty good). So I start to get a bit excited. But of course there is Vis still applied to those objects that were previously unscrappable. Spewing. So I turn off VC and gen Vis, this time it gets to work. I check xEdit again, Precoms timestamps are not updated but Vis is. Thinking, this is great! Can ship without any meshes required, just the Vis files. I go in game, I find some trees are still combined, some missing collision (namely those in SCOLs were offenders). So not quite content I run the generation with normal, non-VC mode. Sure enough the new meshes are all over the place, there's new records etc. This time I only have 132MB of newly gen'ed meshes. I haven't tested these in game yet for the physics/collision problems seen with some trees, but very interesting none the less. I assume the Vis gen wouldn't run in VC cos it couldn't "Detect" a change, I couldn't even force the timestamps to update. And to note, the timestamps for precombineds did update in normal mode...

 

Research continues :)

Link to comment
Share on other sites

Just to update that, there appears to be less collision/physics problems with the normal mode gen. However, branch piles are now the worst offenders for not wanting to be trashed. Found one tree with no collision, right on the border of buildable-area triggerbox. Some bathtubs that don't wanna go either (no recipe?).

 

And for anybody who might find it useful, if you wanna stop a bunch of stuff getting gen'ed, put a a buildable-area triggerbox volume over it.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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