Repository navigation
Draw the player view at 20 frames a second, not 60 - #27
Merged
Merged
Conversation
The bars took a new height eight times a second and eased into it over 180 ms, so they never stood still and the window drew every frame the screen offered while music played. They now jump with the window's clock, as the comment and the terminal player have it. The player view, playing, on a 1920x1080 60 Hz display (Intel Iris Xe, Hyprland), measured with BRUMM_GUI_FRAMES against dev/fakedaemon: before 60 fps and 7.5 % of a core, after 49 fps and 5.1 %. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The backdrop (Waves) drew into a half-size layer, which drew a second frame after every tick; it is drawn at full size now. On large screens the stage still draws it smaller (FullStage's shrink), so nothing is lost there. The window's clock (ui.clock) and the visualizer's (vizClock) both ticked 20 times a second, but not together. While the visualizer's runs, the window's clock now ticks with it, so the equalizers and the progress bar move in the frames the backdrop draws. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Fixes #26. The player view, playing, drew every frame the screen offered, from three causes found by @sean-imus:
ui.clockinstead of easing.FullStage'sshrinklayer on the slot, which already covers what this layer was for.vizClockruns,ui.clocknow advances on its ticks rather than on its ownTimer. The equalizers and the progress bar move in the frames the backdrop draws. Without the visualizer (effects off, etc.) the old timer still runs.Not measured locally (no Rust toolchain on this machine to build the GUI). QML lint is clean and
gui/testspass. Worth adev/benchrun to confirm about 20 fps.🤖 Generated with Claude Code