Repository navigation
Use GPU segment timestamps for Splatoon Raiders dynamic resolution - #1130
thehobbit85 wants to merge 1 commit into
Conversation
78d2453 to
53c2718
Compare
|
A fresh A/B for this change on current
Draw counts, shaders and the target size were the same in both runs. With one time per submission the game reads no GPU time, keeps its 3D view at full size and misses 60 fps. With segment times it scales the view down and holds about 60. I confirmed this after ruling out other suspects for the same slowdown (a shader-chain change, #1319's switches): the timestamp mode alone accounts for it. So this PR's one profile line is what Splatoon Raiders on #1350, which leaves out the idle gaps between segments, was not in either run. Without it, the last 300-frame window still crept to 18.5 ms. |
Co-authored-by: dpadr <34929160+dpadr@users.noreply.github.com>
53c2718 to
c450cfe
Compare
|
Closing as fully superseded by main's global segment-timestamp behavior in 3304d6a, rechecked on main 90b7cef. Segment GPU times are now the default for every game and exclude idle gaps; the old gpu_timestamps profile key and generated macro were retired. Main's Splatoon note documents both defaults and the remaining dynamic-resolution/frame-time limitations. The five production timestamp-mode probes and native timestamp/counter-clock fixtures (25 + 21 checks) pass on sources identical to current main. This is synthetic validation, not a new gameplay or performance result. The contributor's same-route measurements and unresolved 18.5 ms window remain preserved in this PR's discussion and original branch history. No branch is deleted. |
Current refresh — November 9, 2026
Rebased
c450cfe87b15d51eddc61184baf8acf7b3f7c28eonto mainbbea4c90f136f478e25228bc3d4ab33c77420f2e. The game note now retains main's shader-table repair and this PR's timestamp finding. The profile still enables segment timestamps for Splatoon Raiders; main has not selected that mode. The existing regression and feature remain intact. The note also records dpadr's November 6 comparison as attributed historical measurements, including the remaining 18.5 ms window.Fresh local validation: 14 documentation/profile tests, the Mac host build (56 compiler warnings), and all 25 native timestamp checks passed. Range-diff, remaining main diff and main ancestry were reviewed. Pinned Python lint is incomplete: 339 findings against 336 baseline, with three Pyright findings in unchanged
dmsh_build.py:166–167and zero stale entries. An exact main snapshot reproduces these findings; no baseline or assertion was changed. Remote CI on this replacement head belongs to the CI follow-up.Only Splatoon Raiders is affected by this profile setting. No fresh gameplay, shader rebuild, device test or performance measurement was performed; the native timestamp fixture is synthetic. The contributor's gameplay evidence and all earlier checks below retain their original revisions and limitations.
Historical revision records
All remaining revision-specific validation below predates this refresh.
Main’s Splatoon Raiders profile still does not select segment GPU timestamps; its dynamic-resolution profile regression remains relevant.
Current rebase — 2026-11-05
Rebased
78d2453a2ffd547769a1cc44eb0095c2dc9b3695onto fixed current mainf8a5618d5f505a4c0a0bcac7c413872d3a53c009, producing53c27182f35d2d82cb25b9597e8ea3e6195c1a9eon the same existing canonical and PR branches. Main is an ancestor. This replays the existing feature commit; no new squash or unrelated prerequisite is included.The game-note conflict was resolved by retaining main’s new mesh-row/table finding together with the timestamp finding and reference. The timestamp profile setting and generated-header regression are unchanged. dpadr’s original coauthor trailer, preserved in the historical commit context, is restored in the rebased commit metadata.
Fresh validation and limits
29 profile/documentation/current-ABI tests and all 25 native timestamp ABI checks passed. The profile/test/timestamp-header blobs match their previously tested feature sources. Main’s current mesh-row correction remains present.
The workflow-pinned Python ratchet (Ruff 0.17.2 / Pyright 1.1.414) passes: 389 findings against 389 recorded, zero new or stale findings. The former shared-main B023 issue is fixed on this base; references to it below are historical. No baseline was loosened. Generated documentation and
git diff --checkwere reviewed. New remote CI is pending publication and is not claimed green.No new gameplay, runtime segment-writer harness, device or performance measurement was performed. The reporter’s M2 MacBook Air timings and earlier synthetic writer/build evidence below are historical. Other stages, workloads and devices remain unchecked.
Historical proposal, validation and original commit context
The description below predates this rebase. Its commit identities, timing tables, tool environments and validation limits remain historical; they are not a current all-pass or fresh gameplay claim.
Main’s Splatoon Raiders profile still lacks
gpu_timestamps segment. The shared completion writer already implements segment timing; this PR selects it for the title and keeps a profile-to-generated-header regression.Current refresh — 2026-11-04
Candidate
78d2453a2ffd547769a1cc44eb0095c2dc9b3695is exactly one commit directly atop fresh main975bb4c14456d145eb3d969814534eecdd996ce9. The canonical branch and existing PR destination are unchanged. The published head wased83fc7e6ae73e88433ff9e04f6183118f48aacc; preserved local pre-pass candidate was4638ccaa8af99b708959a0b3454f103e57d6528d. Rebase range-diff is patch-equivalent, and the pre-squash tree6dfda8f639618283f18662cd2b1fc555676a2756equals final tree6dfda8f639618283f18662cd2b1fc555676a2756. No unrelated prerequisite or feature was dropped. Original author credit is preserved.Validation and limits
29 profile/documentation/current-ABI tests pass on this exact candidate. The complete profile/note and regression blobs are identical to tested
4638ccaa; the one-commit squash preserves the feature tree. Main’s task/mesh header change is included and covered by the current ABI suite.Only Splatoon Raiders is affected. No fresh gameplay, game build, device or performance run was performed. The prior synthetic production-writer harness, native host build, 25 timestamp checks and reporter’s M2 MacBook Air measurements below remain historical evidence, not new gameplay validation. Its Mac game build was unavailable in the earlier local inventory; the current maintenance pass did not reconstruct game assets.
Shared Python lint is blocked by unchanged main
dm/games/settings.py:115Ruff B023 (390 findings versus 389 baseline), confirmed on the pinned base. No unrelated repair or baseline alteration is included. Generated documentation, final main diff andgit diff --checkwere reviewed for PR #895 placement/artifact rules; no planning journals or run-specific evidence were added to repository documentation. Remote CI for this new unpublished SHA has not run; previous CI results are historical.Historical context and evidence
The description below predates this refresh. Its revision names, validation runs, measurements and limitations are retained as historical evidence rather than current all-pass claims.
Closes #1064.
Current revision
ed83fc7e6ae73e88433ff9e04f6183118f48aacc, rebased onto upstream mainbd98317eecfe832b40d401219c15207a398e78dd. Range-diff and the remaining diff were reviewed; main is an ancestor.Fresh focused validation on this revision: 15 tests passed. The profile and its regression remain unchanged. The generated game-patch index retains current upstream entries. The configured regression harness exited 2: Splatoon Raiders has no Mac build under the local games folder; only Legends Z-A was found. No gameplay or new performance result is claimed.
Remote CI for this replacement head is pending verification by the CI agent; earlier successful checks do not validate it. Current checks.
Prior revision context and validation
The following evidence predates this rebase and retains its stated revisions and limitations.
Splatoon Raiders uses differences between 29
TIMESTAMP_TOPreports per frame to adjust its rendering resolution. Its profile previously gave all the reports in a submission the same clock source. Settinggpu_timestamps segmentlets the existing NVN completion writer return the GPU start time of the segment containing each report. The render-scale setting continues to set the ceiling.dpadr identified and tested this profile change. On their M2 MacBook Air, at render scale 0.75 before the separate ink-map change, view width went from a fixed 1440 pixels to 755–1440 and median frame time went from 22–26 ms to 18–21 ms. The game note separates those measurements from the later runs with tile reads. Reporter’s measurements
Earlier author validation
DM_NVN_GPU_TS=submissionrestored zero on the new profile. SettingDM_NVN_GPU_TS=segmentproduced the 16 ms result on the original one.make -j4 -C dm/host GAME=0400380020056000built the Mac host.make -C dm/gfx/tests GAME=0400380020056000 check_t_timestamppassed all 25 timestamp ABI checks. The repository’s pinned Ruff/Pyright ratchet matched its baseline with zero new findings. Across all 82 tooling test modules, 967 tests ran with 24 skipped and no failures.Game coverage
The change only affects the Splatoon Raiders profile (
0400380020056000).python3 scripts/regress.py check --games 0400380020056000stopped at preflight because the regression root and game folders are unavailable on this Mac. The native fixture verifies guest-visible timing with controlled inputs. Gameplay and device performance figures above come from the reporter.Historical original commit context and preserved corrective messages
These are the original published and preserved local messages before this squash. They explain historical intent and limitations; any validation named in them belongs to the original commit, not the new candidate. Repeated equivalent messages are shown once with their original identities.
seedds seedds@gmail.com —
ed83fc7e6ae73e88433ff9e04f6183118f48aacc(published),4638ccaa8af99b708959a0b3454f103e57d6528d(preserved unpublished/local)Published commit context before this rebase
Historical message from
78d2453a2ffd547769a1cc44eb0095c2dc9b3695; any validation statements belong to that revision.