[Prestaties][P2] Automatisch doorspelen herbouwt de hele presentatorweergave 20× per seconde #2633
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2633
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptoom
Tijdens automatisch doorspelen of een getimede presentatie draait de processor continu; op lichtere laptops hapert de presentatie en loopt de ventilator.
Oorzaak
Voor een vloeiende voortgangsbalk tikt er een
Timer.periodic(50 ms):presenter_playback.dart:95-106: elke tik_rebuild(() => _progress = p)— eensetStateop de hele presentatorstate;presenter_timed_mode.dart:101-125:_tickervan 50 ms die via_emithetzelfde doet.Dat is 20 keer per seconde een herbouw van de complete presentatorweergave: huidige dia, volgende dia, notities, raster, overlays — terwijl alleen de balk verandert.
Voorgestelde oplossing
De voortgang in een
ValueNotifier<double>(of eenAnimationControllermet de dia-duur) en alleen de voortgangsbalk eromheen in eenValueListenableBuilder/AnimatedBuilder. DeTimerblijft alleen voor het doorschakelen nodig (éénTimermet de resterende duur, geen periodieke).Wat overeind moet blijven
Pauzeren/hervatten, doorschakelen op media-einde, de beamer die de voortgang volgt (via
_emit(audienceChanged: …)alleen bij een echte wissel).Toets
Widgettest: tijdens automatisch doorspelen herbouwt de dia-preview 0 keer per tik (build-teller), de balk wel.
Onderdeel van de prestatie- en stabiliteitsinspectie van 28-10-2026 (EPIC #2637).