All Just to Survive Developer Diary entries
Development diary··2 min read

Spread loading work across frames

Cooperative construction and earlier texture and shader preparation reduce individual loading blocks; larger freezes remain open.

Just to Survive / Field recording

Portrait archive

I split underground floors, equipment, collision preparation and returning surface objects into cooperative batches, with cancellation cleanup and protected input and saves. I also moved texture uploads and visibility preparation ahead of the first playable render.

One matched research build reduced its longest slice from 367 to 54 milliseconds; a later contact comparison reduced a 40.3-millisecond step to 14.8. Total travel times are mixed and some comparisons became slower. The first-frame foliage and debris fixes remove unnecessary late shader work, but larger freezes remain unresolved.

“Cooperative construction and earlier texture and shader preparation reduce individual loading blocks; larger freezes remain open.”

I also batched underground shader setup without changing mesh ownership or lighting variants. In the matched research profile, the longest setup slice fell from 58.5 to 9.9 milliseconds, while complete lighting preparation stayed near 436 milliseconds. This spreads the pause rather than reducing total CPU work.

I then prepared the existing program diagnostics and reflection caches before the first draw. In the matched research test, first-draw CPU work fell from 50.8 to 11.6 milliseconds; mine fell from 38.9 to 5.9. The same shader variants remained, but total entry times were slightly longer. These are individual diagnostic comparisons, not a guarantee that every loading pause is shorter.

I also reduced the work done when a successful save clears its temporary recovery journal, keeping the checks for newer progress and other writers. In seven matched save completions, median synchronous cleanup fell from 4.7 to 0.7 milliseconds. The initial save and streaming pauses remain; this is a small improvement to one part of saving.

I extended the same approach to starting and continuing Explore: entrance placement, island terrain, vegetation and collision shapes now yield between construction batches. In one matched RTX 3060 comparison, the largest task overlapping startup construction fell from 2,024 milliseconds to 118–127 milliseconds. Other loading and rendering pauses remain; this is a reduction in uninterrupted work, not a guarantee of faster startup.

I also prepare the playable shadow region and its visible animal textures before the first frame. That frame fell from 111.8 to 39.6 milliseconds in one comparison. Later work prepares two existing shadow programs and submits the research steel roughness texture earlier. The scene, texture settings and geometry are preserved. Some total startup and travel measurements became slower, and rejected preview and image-loading trials remain uninstalled.

The clips illustrate the current entrance and loaded interior; they do not measure the intervening loading transition or promise consistently smooth loading. Native-host verification and the separate World Forge connection remain open.