github vyanhursky/DefJamFFNY-recomp v0.10.2
Def Jam: Fight for NY — Recompiled v0.10.2

3 hours ago

v0.10.2 — Smoother Story scenes

Story cutscenes on macOS and the Steam Deck no longer stutter the first time an effect
appears, and on macOS the random short freezes during scenes are gone. The changes come
from a performance pass over all 38 Story scenes on a Mac and a Steam Deck
(Mac report,
Deck report).

Changes

  • Shader cache (macOS and Linux, including the Steam Deck). Compiled shaders and the
    graphics driver's pipeline cache are now kept in cache/vulkan in the data folder, so
    an effect's shader is compiled once, not once per launch. Each distinct shader is also
    compiled only once per run: the opening scene used to compile the same 29 shaders 188
    times. On the Mac the opening scene's late frames fell from 2.8% to 0.1-0.2%; on the
    Deck, hitches across the 38 scenes fell from 22 to 8, and short scene loads went from
    about 300 ms to about 100 ms. Deleting the folder is safe (it is rebuilt);
    RECOMP_SHADER_CACHE=off runs without it.
  • macOS: random freezes in Story scenes fixed. Scenes froze for 100-300 ms about once
    every two minutes, worse when the Mac was busy, because the thread that turns the game's
    drawing into frames was starved by the scheduler. It now runs at the same priority as
    other interactive work. On a loaded Mac late frames fell from 6-7% to 0.02% and hitches
    from 9 to 0. Linux and Windows were not affected and are unchanged.
  • Launcher and overlay tooltips wrap. Long help texts (the Play scene button's, and
    the longer setting descriptions) ran off the right edge of the window and lost their
    ends.
  • For developers. scripts/scene-perf.py plays every Story scene with the play-test
    recorder and writes one table of load times, frame pacing, hitches and audio
    drop-outs; compare puts two machines or builds side by side.
    RECOMP_HITCH_PROBE=1 records which thread held the game's CPU during a late frame.
    Contact sheets of widescreen runs keep their shape.

Validation

  • macOS (Apple Silicon): all 38 Story scenes play and end with no crash or log fault.
    Full regression on the shader cache: 16 of 17. The one failure is the existing
    intermittent audio-queue gate: one dry event in combat, against three in v0.10.1, with
    no threshold change. Full regression with the freeze fix added: 16 of 17, the failure a
    scripted overlay click that passed on three re-runs. Quick regression on this release's
    source: 5 of 5 (507 unit tests, the three golden frames, a fight).
  • Steam Deck OLED: the 38-scene tour three times (before the cache, cache cold, cache
    warm) and a retest by render scale and refresh rate, on the shader-cache build. The
    macOS freeze fix does not apply to Linux, so the Deck did not run this exact build.
  • Hosted CI builds and tests Windows (MSVC), macOS and Linux.
  • Windows was not play-tested. Its renderer (Direct3D 11) is unchanged; the only change a
    Windows player sees is the wrapped tooltips.

Known limits

  • Steam Deck: keep render scale 2 (the default). At render scale 3 the late frames in
    the heaviest scenes double. Even at 2, some scenes drop frames in their heaviest shots
    (the opening scene about 11%). The Deck OLED's 90 Hz panel runs the game without vsync.
  • Scene loads still hold the picture for up to about 2 s in the longest scenes.
  • Windows still compiles each shader the first time it is used in every launch; a cache
    for Direct3D 11 is planned.
  • The existing intermittent audio-queue limitation remains.

Updating

Run the setup for your platform and update the existing installation. Setup builds the
game locally from your own dump and preserves player data. The first launch after
updating fills the shader cache; later launches use it.

Don't miss a new DefJamFFNY-recomp release

NewReleases is sending notifications on new releases.