mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 06:25:41 +00:00
feat(perf): 3-state animation mode (Full / Reduced / Static) (#441)
* feat(perf): 3-state animation mode (Full / Reduced / Static) Replaces the boolean `reducedAnimations` toggle with a three-way `animationMode` setting, suggested by Viktor Petrovich after the Windows audio fix (PR #426) shipped and confirmed a measurable GPU drop: - `full` (default): native frame rate, marquee scrolls normally - `reduced`: 30 fps cap on the animated seekbar wave; player marquee runs at half speed - `static`: rAF loop disabled; the seekbar repaints from the ~2 Hz audio:progress heartbeat. Player title/artist truncate with ellipsis instead of scrolling. Migration in `onRehydrateStorage` maps legacy `reducedAnimations: true` to `'reduced'`, anything else to `'full'`. Static is opt-in only. Settings UI follows the ReplayGain Auto/Track/Album pattern with a contextual hint that explains what each mode does. i18n: 5 new keys across 8 locales, 2 legacy keys removed. * docs(changelog): add #441 3-state animation mode entry * chore(credits): add #441 to Psychotoxical contributions
This commit is contained in:
committed by
GitHub
parent
364b29ceee
commit
98ff73d17a
@@ -1516,12 +1516,23 @@ html[data-platform="windows"] .player-bar.floating {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* `static` animation mode: never scroll, truncate with ellipsis instead. */
|
||||
.marquee-wrap[data-anim-mode="static"] {
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.marquee-scroll {
|
||||
display: inline-block;
|
||||
animation: player-marquee 12s linear infinite;
|
||||
animation-delay: 2s;
|
||||
}
|
||||
|
||||
/* `reduced` animation mode: double the marquee cycle so visual change
|
||||
per second is roughly halved. */
|
||||
.marquee-wrap[data-anim-mode="reduced"] .marquee-scroll {
|
||||
animation-duration: 24s;
|
||||
}
|
||||
|
||||
@keyframes player-marquee {
|
||||
0%, 12% { transform: translateX(0); }
|
||||
78%, 88% { transform: translateX(var(--marquee-amount)); }
|
||||
|
||||
Reference in New Issue
Block a user