• src/doors/syncdoom/README.md m_menu.c syncdoom.c xtrn/syncdoom/control

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Jun 21 00:59:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1c8e12283a76e76768ba3e51
    Modified Files:
    src/doors/syncdoom/README.md m_menu.c syncdoom.c xtrn/syncdoom/controls.msg syncdoom.example.ini
    Log Message:
    syncdoom: adaptive frame pacing to lift remote frame rate (Ctrl-T / Ctrl-S)

    Over a high-latency link the DSR per-frame pacing capped the frame rate at ~1/RTT (a slideshow). Make the number of frames "in flight" configurable and, by default, adaptive.

    - [video] frames_in_flight = 1..5 | auto (now the default). A pipeline lets
    several frames cross the link at once, lifting a far-away player's frame rate
    toward Doom's 35fps sim; on a fast LAN it goes well past that (duplicate
    re-renders between tics -- a frame-dedupe pass, next, will trim those).
    - auto = delay-based + bandwidth-aware congestion control: base depth from the
    BASELINE (windowed-min) RTT, back off when the current RTT inflates above it
    (a queue we're causing), and cap at the bandwidth-delay product (recent_fps x
    min_RTT) so a high-latency *low-bandwidth* link (a far VPN) can't over-pipeline
    and bloat the input lag. Validated live across LAN and VPN, and in simulation
    (stable / queuing / bandwidth-limited links).
    - Ctrl-T cycles the depth (1..5 -> auto) live and saves it per-user; Ctrl-S
    toggles a top-right stats overlay (tier / fps / RTT current+baseline / depth).
    - Exit telemetry logs RTT (current + baseline min) and the effective depth.
    - Built-in default is auto (door is new -- no installed base to surprise); the
    example.ini ships frames_in_flight = auto. README + controls.msg + the F1
    help document the keys.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net