Jump to content

Fallout 4 Optimization and Performance Systems Explained


Recommended Posts

  On 7/7/2017 at 9:11 AM, SMB92 said:

I do both, regular and precombined, i think there is 2 options for a reason. Performance is definitely nice with both.

 

What's the point for that? 'precombined visibility' already includes 'visibility'. This CK Wiki mentions it: Previs builds a visibility graph of which non-mobile uncombined references and combined geometries are visible from different points… Proof of this is the fact that the 'precombined visibility' generates visibility for statics with scrap recipes as well (which are excluded from the precombined geometry generation). I didn't bother to test this, but I assume precombined visibility will overwrite visibility files.

I've seen this recommended a few times, and I wonder why..

Link to comment
Share on other sites

  • 1 month later...

So an Interesting thing I've noticed (and if this is know and I'm stating the obvious then I'm sorry) is that "Initially Disabled" statics will also get used in the Pre-Combined Meshes and Visibility.

 

I've been working on a full Optimization Patch for Beantown and I had some WIP buildings that were disabled while generating Pre-Combined. When doing a building I normally disable the original building and stack my open world version right on top of it. This way I can easily get all my building lined up in xEdit.

 

I then went to test my patch and by accident was running my WIP version in game instead of my current released version and the doors were open with full viability and without any culling. I then tested on my Released version and the doors were blocked as expended.

 

Next I opened a new building and with the vanilla building disabled and my open window version enabled, I went to it in game and again the building was blocked by the patch.

 

Also all of my compatibility setting still work with the patch and that also uses an enable parent on two buildings.

 

Maybe I'm just a bit slow here but I assumed the "Initially Disabled" objects would not be included in the process.

Link to comment
Share on other sites

That can't be right man, some things up. I have tested this myself, although when I fixed up Greekrages Starlight mod, I had seen performance gains in disabling a lot of stuff he had left enabled, but the draw call count still seems high, too high, for the building he has. But then I think about the occlusion box in Monsignor in vanilla, disabling this allows generating around there to work as normal, where as it borks your gen if it's enabled.

 

Are you positive you have removed all the No Previs flags from you WIP file? And confirmed tpc is showing as enabled in your test area in game?

Link to comment
Share on other sites

  On 10/21/2017 at 6:46 AM, SMB92 said:

 

Are you positive you have removed all the No Previs flags from you WIP file? And confirmed tpc is showing as enabled in your test area in game?

 

I am sure I have removed the no PreVis from my patch. It did seem odd to me but I think it's how it works if you think about places like Boston Airport for example that change depending on player actions all that extra disabled junk would need to be in a pre-combined because they are not switching cells or anything it's all done through enable parents.

Link to comment
Share on other sites

Mmm this leads me back to darker territory. Thicket Excavations. If anyone recalls there is still a cell reset bug present, it happens for me here after the little mission and the water is drained.

 

Anyway, I don't think it makes sense for the precombined to have a disabled object even considering the airport etc, how does/would the game know to switch the precombined mesh in? Or not load the material? And also considering modifying a cell and loading an esp that refers back to the vanilla data causing original precombined to appear on top...

 

I'm not putting anything past it, something still doesn't seem right. Do you happen to be using the new ck version 1.10? Cos I'm seeing some strange behaviour with my stuff as well. Namely patches I generate, they work but then later crash the game, or outright crash the game now.

Link to comment
Share on other sites

  • 4 weeks later...

Looks pretty good.

 

To sum up what became a bit rambling:

  1. Both detection methods you noted seem to be a result of the placed references being edited (via material swaps or something similar) to use a different material than the one they had been assigned when the precombined meshes in that cell were generated
  2. Another detection method (only usable in settlements) is losing the ability to place most things (beds for sure, among many others) on a surface. This is because precombineds seem to automatically have the "treat as ground" property applied to them, and as a result Bethesda didn't bother adding it to a lot of base records that really should have it
  3. xEdit puts brackets around the "Placed Object" descriptor on the lefthand side :tongue:.

 

In more detail (with tangents), spoilered because holy s#*! did I ramble:

 

  Reveal hidden contents

 

And on a final note: auto-save drafts for posts are wonderful, amazing things. I accidentally refreshed the page when I was almost done with this post, and when I was trying decide if I should bother rewriting the whole thing (versus just the TLDR version at the top) I noticed "View Auto Saved Content" at the bottom of the post window. Not sure why the Nexus doesn't have a dedicated "Save draft" icon like some other forums, or why it doesn't automatically restore the saved draft when you do something stupid like I did and leave/refresh the page without posting, but at least I finally realized it does save drafts.

Link to comment
Share on other sites

Something I noticed when trying to locate the thread where the Dev talks about the precombined auto-disable system* was that xEdit has a scripting function that checks whether a record has a precombined mesh, presumably what it uses to determine which "Placed Object" records need brackets. So someone who properly knows how to make pascal scripts for use with xEdit** could make an xEdit script that detects if a given mod will break precombineds (and possibly lists either the offending records, or the cells they are in). It would need to check the VISI and PCMB fields of the containing cells and compare them to the vanilla values (and the ones from DLC, where relevant***) to avoid giving false positives (i.e. saying it will break precombineds, when the mod rebuilt precombineds to account for the edits).

 

The wiki page where I found these functions: https://www.creationkit.com/index.php?title=TES5Edit_Scripting_Functions

 

*The link in the first post doesn't seem to work, I guess as a result of one of the changes they made when they redid their community forums system, so I tried to find the wiki page on Precombineds that is essentially just a repost of that Dev response

**rather than someone like me, who can either 1) beat my head against a script someone else made that does something similar to what I want until it works (my formlist/recipe script), or 2) interest zilav enough that he makes it for me while I just act as a tester (my Precombined Data editor script)

***might want to have it check against a stored list of those values, in order to not give a false positive just because the mod doesn't require a DLC to load, but the value in those fields is from the DLC and not the base game

Link to comment
Share on other sites

  • Recently Browsing   0 members

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