The Simpsons Game — Recompiled v0.0.4
The Performance Release
The first release since the repository went public — and the largest set of performance work so far. Same game, same visuals, substantially faster.
Quick start — Windows: unzip, run simpsons-launcher.exe, click Install from ISO, then Play.
Quick start — Linux / Steam Deck: extract, run Play.sh.
Performance
- Real 60 FPS. The game shipped with its own hardcoded "wait 2 vblanks between frames" — a 30 FPS lock that ignored every setting. It's now patched at the instruction level (matching the community-verified 60 FPS patch for this title), so the launcher's Framerate setting actually works. 60 is well-tested; 90/120 remain experimental.
- ~50% faster in the heaviest measured scene. The recompiled game code now builds at full optimization with a modern CPU baseline (
-O3+x86-64-v3) — previously the hottest code in the project was compiled at a lower optimization level than everything around it. Combined with the engine fixes below, the main-menu draw-storm scene went from a locked ~32 FPS to ~48+ FPS in like-for-like measurement. - Engine hot-path fixes: removed a per-draw-call cache that the code's own upstream history documents as a measured loss (it ran on every draw); eliminated redundant global-lock acquisitions on two hot paths (guest thread-sync calls, and the memory-fault handler that fires tens of thousands of times during level streaming); fixed the audio worker's wait loop busy-spinning under load.
- Tear-free presentation. Main-menu flicker traced to a tearing-permitted swapchain default; the presenter now prefers a tear-free mode with the same latency.
- Audio fixes: startup failure on systems without a JACK server fixed (SDL now targets PipeWire/PulseAudio/ALSA directly); wait-loop fix above also reduces audio crunch under load.
Launcher
- Update checker fixed: it now offers an update only when a release is actually newer than what you're running (previously any version mismatch nagged forever).
- Steam Deck Gaming Mode: launcher opens as a real app window instead of Steam's built-in browser, and the game no longer black-screens when switching to it (both were one root cause: the sandboxed Steam Linux Runtime container).
- Settings dropdowns fixed inside the launcher's embedded window.
Under the hood (for contributors)
- Built-in per-frame performance logging (
perf_log_csv) — fps, frame times, draw calls, GPU stalls, cache hit rates. - Live FPS overlay on F3.
- A benchmark harness (
tools/bench/): A/B performance runs with saved baselines, GPU shader-cost ranking, a pixel-diff rendering-verification harness, and a scripted PGO pipeline. - The complete map of the game's D3D command-writer method table (
simpsons/re/d3d_method_table.md) — all 73 rendering operations identified, the foundation for the native-renderer roadmap in the README. - Optional ThinLTO builds (
-DREXGLUE_ENABLE_LTO=ON) and opt-in draw-submission telemetry (-DSIMPSONS_DRAW_TELEMETRY=ON).
Known issues
Unchanged from the README: the "instant pop-in" patch remains dangerous on Steam Deck hardware (workaround documented), audio can still crunch under very heavy load (a deeper fix is in development), and 90/120 FPS modes are experimental.
You must own the game. As always, no game content is included — the launcher installs from your own legally-owned ISO.