Exportcache van 1 GiB raakt vol vóór een fotodeck van 150 dia's #2726

Open
opened 2026-11-02 22:20:36 +00:00 by brenno · 0 comments
Owner

Wat er mis is

Een PDF of PPTX van een fotodeck decodeert elke afbeelding op 2048 px, ongeveer 16 MiB. De cache tijdens de export is 1 GiB, dus ongeveer 64 van die beelden. De prestatiegids neemt 150 beelddia’s als het grote deck. Van die 150 zijn de eerste tientallen al uit de precache verdwenen vóór de vastlegging en worden opnieuw gedecodeerd. De vastlegging wacht niet tot het beeld er is: na 12 vuile frames gaat het portret door. Een trage decode komt dan als leeg vlak in het bestand.

Bewijs

  • lib/services/slide_rasterizer.dart zet maximumSizeBytes op 1 GiB. Het commentaar erboven zegt dat die verhoging moet voorkomen dat beelden na de eerste dia’s verdwijnen.
  • De precache loopt vóór de lus over alle paden. Na 12 vuile frames geeft de capture op.
  • lib/utils/image_limits.dart is de 2048-grens voor exportdecode. docs/PERFORMANCE_GUIDE.md noemt die grens en de test met 150 beelddia’s, en noemt het 1 GiB-plafond niet.

Voorstel

Precachen per dia, in de vastleggingslus. Er is dan één dia live en 1 GiB is ruim. De gids het plafond laten noemen dat daarna overblijft.

Geen nieuwe afhankelijkheid. Het bestandsformaat verandert niet.

## Wat er mis is Een PDF of PPTX van een fotodeck decodeert elke afbeelding op 2048 px, ongeveer 16 MiB. De cache tijdens de export is 1 GiB, dus ongeveer 64 van die beelden. De prestatiegids neemt 150 beelddia’s als het grote deck. Van die 150 zijn de eerste tientallen al uit de precache verdwenen vóór de vastlegging en worden opnieuw gedecodeerd. De vastlegging wacht niet tot het beeld er is: na 12 vuile frames gaat het portret door. Een trage decode komt dan als leeg vlak in het bestand. ## Bewijs - `lib/services/slide_rasterizer.dart` zet `maximumSizeBytes` op 1 GiB. Het commentaar erboven zegt dat die verhoging moet voorkomen dat beelden na de eerste dia’s verdwijnen. - De precache loopt vóór de lus over alle paden. Na 12 vuile frames geeft de capture op. - `lib/utils/image_limits.dart` is de 2048-grens voor exportdecode. `docs/PERFORMANCE_GUIDE.md` noemt die grens en de test met 150 beelddia’s, en noemt het 1 GiB-plafond niet. ## Voorstel Precachen per dia, in de vastleggingslus. Er is dan één dia live en 1 GiB is ruim. De gids het plafond laten noemen dat daarna overblijft. Geen nieuwe afhankelijkheid. Het bestandsformaat verandert niet.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2726
No description provided.