Repository navigation
DM_RT60=1 (opt-in, not yet measured): the scheduler declaration keeps the base vsync period when the game flips its present interval - #1700
Closed
oliverames wants to merge 1 commit into
Closed
oliverames wants to merge 1 commit into
oliverames wants to merge 1 commit into
Conversation
oliverames
force-pushed
the
rt60-period
branch
from
November 7, 2026 19:23
0091f56 to
48a9274
Compare
…riod when the game flips its present interval Off by default and not yet measured. Mario Kart World on an iPhone flips its present interval 1 and 2 about 350 times in 20 s after a late frame, re-declaring 16.7 / 33.3 ms to the scheduler each time, and around those flips the process left the performance cores (mean clock 3.5 to 1.6 GHz, thermal fair).
oliverames
force-pushed
the
rt60-period
branch
from
November 7, 2026 20:20
48a9274 to
c5d5950
Compare
2 of 4 tasks
Contributor
Author
|
Combined into #1713 with the other two pacing switches; same commit, same tests. Closing this one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Not fully tested; opt-in. The runs so far show no effect; it is filed for review, and the maintainer may prefer to wait for a measurement.
What and why
Mario Kart World 1.8.0 (#1383's build) on a physical iPhone flips its present interval between 1 and 2 about 350 times in 20 s after late frames (96 flips in one 600-frame window, 258 in the next); cheemu21/plumber-racer-2 notes the game sets interval 2 after a late frame. Each flip re-declares 16.7 or 33.3 ms to the scheduler (
set_time_constraint). In one run the process left the performance cores in that window (mean clock 3.5 to 1.6 GHz, 56% to 8% on performance cores, thermal fair); the frame-step comment abovert_period_nsdescribes the same demotion for a longer hold.DM_RT60=1keeps the declared period at the base vsync period (1 / g_hz) whatever the game's interval does. Off by default: with the variable unset the code runs as before.Checked
hle_nvn.ccompiles on this base with a generated profile header (clang syntax-only);dm/tools/tests/test_docs.pypasses; the new switch is indocs/env_switches.tsvwith its meaning (env_switches.py --checkstill reportsDM_NVN_BC_ALIAS, which is missing from the table onmaintoo).scripts/regress.py check --games: not run: off by default, so every game runs as before without the variable.Front ends
None: no front end has to act on this.
Docs
docs/development.mdand the switch indocs/env_switches.tsvdmsh_chain.py --headerwas run anddm/gfx/nvn/dmsh_chain.his part of the change. Not applicable: no chain tool changed.