cache-prototype-data=true
cache-sprite-atlas-count=1
cache-sprite-atlas=true
Caching prototypes is marked experimental. The other two have no comment. I'm guessing that the cache-sprite-atlas-count is the number of old altases it keeps around so switching between 2 sets of mods will still have a cached atlas. And the default of 1 only keeps the current atlas.
Turning those options on has a huge impact on the startup time. Without caches:
And with caches:...
0.225 [Audio] Backend:default; Depth:16, Channel:2, Frequency:44100; MixerQuality:linear
0.340 Data stage cache not used.
...
26.768 Prototype list checksum: 3457637422
27.359 Data stage cached in: 0.573571 seconds.
27.725 Loading sounds...
27.798 Info PlayerData.cpp:71: Local player-data.json available, timestamp 1635804730
27.799 Info PlayerData.cpp:78: Cloud player-data.json unavailable
28.048 Crop bitmaps.
28.048 Atlases were not loaded from disk cache.
28.885 Parallel Sprite Loader initialized (threads: 7)
...
53.919 Sprites loaded
55.023 Sprite atlas cached.
...
55.874 Factorio initialised
From nearly 56 seconds to under 8, more than 7 times faster every time you start factorio. Seems well worth it for anyone playing with large mods....
0.222 [Audio] Backend:default; Depth:16, Channel:2, Frequency:44100; MixerQuality:linear
0.712 Data stage cache loaded in: 0.346025 seconds.
...
1.296 Prototype list checksum: 3457637422
1.360 Loading sounds...
1.412 Info PlayerData.cpp:71: Local player-data.json available, timestamp 1635804802
1.412 Info PlayerData.cpp:78: Cloud player-data.json unavailable
1.649 Initial atlas bitmap size is 4096
...
5.210 Atlases loaded from disk cache.
5.228 Texture processor created (2048). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
5.343 Parallel Sprite Loader initialized (threads: 7)
7.153 Sprites loaded
...
7.512 Custom mipmaps uploaded.
7.617 Generated mipmaps for virtual atlas of size 8192x16384
7.633 Custom inputs active: 54
7.822 Factorio initialised
Now I wonder why the first option is still marked experimental? Why can't they be activated from the GUI? And how are they ever going to get more player testing if they are hidden away in config.ini?
Is there something I should look out for when using those options? Something more to report if I see odd things like timestamps or checksums of some cached files?