ini.UseNewSaveTracking

On some relatively old PCs (such as 2019 Intel XEONs) we noticed a very long time opening texture assets in editor (ie a minute to open 20 textures).

This does not seems to depend on texture resolution, asset caches, DDCs.

With a simple trace with pin point the issue on the Ini file updates, due to recently used assets lists.

/Saved/Config/WindowsEditor/EditorPerProjectUserSettings.ini is updated 3 times per opened asset (the file is about 1.4 MB).

Each time the ini file is updated, its content is fully recreated

We noticed cvar “ini.UseNewSaveTracking” that is not widely known: setting it to 1 or 2 fixed our performance problem.

So my question is: what is that cvar? are there any issues related to its usage?

Thanks.

Steps to Reproduce
Open 20+ assets on an “old” cpu PC.

Hi [mention removed],

Unreal Engine has introduced a new internal configuration save optimization system aimed at improving the efficiency of .ini file serialization. This system is controlled by the GUseNewSaveTracking variable, which affects how configuration data is written to disk.

The main idea behind the variable is to track changes more efficiently by identifying only the differences between the old and new data, and writing just those differences (the “diff”) to the .ini file. Here are the available options for GUseNewSaveTracking:

0 – Legacy Save: The entire configuration file is serialized and written to disk.

1 – Layered Save: Only the saved layer is written. You can look at FConfigBranch::SavedLayer to see how this works. The class managing this is FConfigCommandStream.

2 – Diff-Based Save: A diffing system compares the current and previous config states, and only the delta (changes) are written to disk.

This feature has been in the engine for about a year but is still marked as experimental. It should work well in most scenarios, but be aware that it might fail in edge cases. Still, for the majority of use cases, you shouldn’t run into issues.

If you’d like to review the specific commit, here it is:

https://github.com/EpicGames/UnrealEngine/commit/908083ad22a77cab9be3e4f0d78256fe449c3f1a

Overall, enabling this should speed up config saves—especially you will notice it on older PCs as you mentioned. Just keep in mind that this is not yet the default serialization method. If you notice any odd behavior, double-check that the .ini data is being saved correctly. And of course, feel free to report any issues you encounter.

Best regards,

Joan