Repository navigation
Conversation
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.
Related to #2037 and #2042.
On my M3 Pro, the OoT v131072 title movie and New Game intro ran at around 30 FPS, and the narrator lagged behind the picture. This PR adds an opt-in macOS workaround for testing and review.
Changes
TOTK_OOT_MOVIE_DIRECT=1 replaces the movie’s 13 compute reconstruction passes with one bilinear scaling pass after matching the complete shader sequence. If matching or resource preparation fails, the original passes run.
While that path is active, a saved 30 FPS lock temporarily becomes 60 FPS with interpolation off. The saved setting applies again after the movie.
OOT_MOVIE_CLOCK=1 uses AV1 timestamps to drop overdue pictures when the decoder has a newer frame ready. Both switches default to off.
Bilinear scaling changes the movie’s reconstruction quality. I’m opening this as a draft to discuss that trade-off.
Validation
Tested v131072 on an M3 Pro at 2560×1440 with the same settings in both runs. The title movie and New Game intro went from about 30 to 60 real FPS. During the New Game intro, median GPU time fell from about 28 ms to 1 ms per frame.
The first English narrator line was requested 2.9 seconds after opening the story clip, compared with 7.1 seconds in the control run. I also checked playback in the packaged Mac app.
All 55 OoT-specific tests and the native ARM64 time-step probe passed. iOS was outside this validation.
Would you prefer to keep TOTK_OOT_MOVIE_DIRECT opt-in, or enable it by default for matched opening sequences on macOS as a temporary workaround? If enabled by default, TOTK_OOT_MOVIE_DIRECT=0 could restore the original reconstruction.