Table Tennis PC Recompilation v1.0.6 — Frame Pacing & Honest Metrics Preview
Use 60 FPS / VSync for normal play. True 120/144/240 FPS gameplay is not unlocked by this release.
This update addresses two avoidable presentation delays and the misleading FPS counter behind issue #8. It is not a verified cure for every user's stutter report. The issue remains open for validation.
What changed
- Removed the extra sleep/spin limiter from UI rendering; new game output no longer waits for our independent UI frame cap.
- A hidden FPS/startup dialog now detaches after startup so the SDK can use its immediate guest-output presentation path. F10 brings the counter back normally.
- One producer-side limiter now uses fixed deadlines before VdSwap, avoiding cumulative sleep drift and catch-up bursts after stalls.
- F10 shows game submissions/s and mean/p95/max intervals, with UI redraw FPS labeled separately. Submission timings are not GPU render time, unique completed-image counts or simulation tick counts.
- Launcher defaults to 60 FPS / VSync. Retained higher caps/no-cap settings are labeled experimental and do not promise smoother high-FPS gameplay. Existing saved graphics selections remain intact; select the recommended mode explicitly after updating.
- Explicit command-line framerate overrides saved settings.
What the measurements show
Before this change, a visually confirmed Exhibition match submitted roughly 60 frames/s while the old F10 display showed around 140 FPS at a 144 cap. The old number counted UI redraws, not new game submissions.
Local settled windows in the updated 60 mode measured about 60.0 submissions/s, mean 16.66–16.67 ms and p95 around 17.4–17.9 ms, with occasional outliers. Intro, menu and an Exhibition match were checked. These are submission observations on the development PC, not a high-speed display-capture benchmark or a verified result on the reporter's RTX 5070.
The SDK's no-VSync mode actually drives its VBlank worker near 1000 Hz even though the reported video mode is 60 Hz; earlier claims that VBlank always remained 60 Hz were incorrect. Changing this alone did not unlock game motion. Further game-specific timing work is needed for actual 120/144 FPS gameplay.
Install or update
- Download Install-Table-Tennis.exe below.
- Select your supported retail USA/Europe ISO and the same installation folder used previously. Run Install / Recheck and wait for the rebuild.
- Click Play and select 60 FPS / VSync (recommended) in the launcher. Keep your ISO available during play.
- Toggle F10 to compare game submissions and interval spikes. If reporting stutter, attach the new
dist\logslog and describe whether the counter was visible.
Existing saves/settings are retained. All previous ISO startup, first-run save-dialog, offline-menu, intro-skip, higher-resolution, filter and desktop-icon improvements remain included. Icon artwork: Gary aka POOTERMAN :) — DeviantArt.
Validation and limits
Deterministic native tests cover deadline overshoot, long stalls, cap changes, uncapped mode and submission statistics. ISO runtime tests include launch arguments overriding saved settings. A normal production rebuild and runtime checks are performed separately from private diagnostic controller replay; replay controls and test profiles are not distributed.
This remains an unsigned preview. First-time installation of Microsoft components and the previously blocked first SDK download remain unverified on a completely clean Windows PC. It does not change security settings. The public installer contains reviewed project source, SDK adaptations, patch instructions and the credited icon, not a prebuilt game, ISO, XEX, retail menu archive or generated game functions. Game output is built locally from your own ISO; this is not a legal guarantee.
Players need only the installer. The optional Table-Tennis-Local-Build-v1.0.6.zip is for developers. SHA256SUMS.txt verifies both downloads.