Skip to content

v0.70.0 — Performance Optimization & Bug Fixes

Latest

Choose a tag to compare

@AjncSystem AjncSystem released this 29 Oct 16:42
· 3 commits to main since this release

Caution

Attention: Install the game on an SSD (preferably an NVMe). Every new area loads hundreds of MBs of textures and models from the game folder; on an HDD, area transitions stutter heavily and can freeze for several seconds. Place both the game folder (the dump) and, if possible, the port folder on an SSD.

🚀 Release Notes & Performance Updates

⚡ Performance Optimizations

  • Area Transitions: Fixed the severe FPS drops when moving between zones.
    • Before: Every area change tanked the FPS, sometimes forcing 1–3 second loading screens with frame-times exceeding half a second (534 ms).
    • Now: Worst-case scenarios stay between 58–75 ms without any forced loading screens. The endgame now runs smoothly all the way to the credits.
    • Note: The game still drops 1–6 frames during transitions; addressing this will be the next focus.
  • LOD Feedback: Experimental feature (SOTC_LOD_FEEDBACK=1) has been optimized and no longer costs ~7 FPS.

🛠️ Bug Fixes & Stability

  • Game Allocator Crash (0x49800): Resolved a rare critical crash after loading. Two shortcuts in the game's memory protection could allow the GPU to write to a memory block that had just been freed.
  • DLSS Jitter Fix: Fixed image jittering when using DLSS in PS4 Pro mode at 30 FPS. Repeated frames now correctly display with DLSS applied.
  • Frame Generation (F8): Fixed an issue where the HUD would freeze or remain static when using FSR 1.

⚙️ Advanced Configuration (Toggles)

The root causes for the transition stutters involved memory table locks, massive gigabyte remappings, constant GPU region lookups, and excessive single-frame texture streaming (now limited to a 32 MB budget per frame, meaning deferred textures may briefly appear black).

If needed, every single optimization can be disabled individually by setting its respective key to 0 in your configuration:

SOTC_LOCK_WAKE=0
SOTC_VIEW_CHUNK_MB=0
SOTC_REGION_LOG=0
SOTC_REGION_FAST=0
SOTC_PROTECT_FAST=0
SOTC_WRITE_FAST=0
SOTC_BATCH_SPLIT=0
SOTC_GUARD_DEDUP=0
SOTC_UPLOAD_BUDGET_MB=0

Note on Crash Fix: The memory protection shortcuts come disabled by default. If you still encounter issues, you can manually re-enable them using:

SOTC_GUARD_STALE=1
SOTC_GUARD_USER_POINTER=1

Tested during a 36-minute session with 6 consecutive loads and zero crashes. If it crashes for you, please submit your log.

🔍 Diagnostics

  • Draw Thread Analysis: Enable SOTC_DRAW_SPLIT=1 along with the on-screen FPS counter to log exactly where the draw thread is spending its processing time.