2.7.0 diagnostics build for #209
This build is 2.7.0 with two small changes. It is not a performance fix: it helps us find why some players feel 2.7.0 is less smooth in combat than the issue209-test1 build.
What changes
- The CPU report is now written when you leave through the in-game menu. In 2.7.0 and in issue209-test1, "Exit to Desktop" closed the game before
Runtime: CPU time by threadwas written tolast_run.log, so the logs you sent did not have it. Sorry about that. - One clock read less per draw on the GPU thread. The shader cache statistics read the clock on every draw (about 150,000 times a second in combat). Now once every 256 draws. Small gain, estimated at 0.2 ms a frame.
- Everything else is the 2.7.0 build. The launcher still shows v2.7.0.
What we found in your logs
We compared the issue209-test1 and 2.7.0 logs from the same section. Average FPS, frame pacing and the number of slow frames are within the normal difference between two play sessions. In combat both builds show the same pattern: 60 FPS on average, but some frames take 40 ms, and the GPU command thread is busy 100% of the time. The shader cache added in 2.7.0 removed work from that thread (53 ms in a whole session, instead of up to 70 ms of waiting every 5 seconds in issue209-test1).
How to test
- Extract
spartanport-windows.zipover your currentspartanport-windowsfolder (keeps your saves, settings and shader cache). - Set the engine frame rate and the FPS limit to 60.
- Play the same section twice, for at least 5 minutes each time, and close the game from the in-game menu ("Exit to Desktop") each time:
- Run A: on the launcher's Performance page, "Reuse compiled shaders from disk" on (default).
- Run B: the same option off.
- Copy
user/last_run.logafter each run, before starting the game again (it is overwritten), and name the copiesrun-A.logandrun-B.log. - Turn the option back on. The next start rebuilds the shader cache once, so expect some stutter in that first session.
Reply on #209 with both logs and tell us which run felt smoother.
Validation
- Built on Windows 11 (MSYS2 CLANG64). Windows C++ tests and the Python suite pass. The failures are only Linux-only tests that do not build or run on Windows, and they also fail on 2.7.0.
- Played on a Ryzen 5 5600X + RX 6700 XT limited to 4 cores / 4 threads (affinity
0x55): 59.9 FPS average at 60, minimum 57.2. The CPU report was written on "Exit to Desktop", and saved shaders were read from disk (671 shader variants in 17 ms). - Not checked: a real 4-thread CPU, a GTX 1660, and the Linux build.