Skip to content

perf(media): request display-sized cover thumbnails #285

Closed

Description

@zaparoo-automation-bot

There is no single optimal source-art size: rendered cover dimensions vary by display resolution, grid shape, list/detail layout, and device pixel density. Users should retain good-quality source artwork rather than manually pre-scaling every image.

Implemented pipeline

  • Frontend calculates cover requirements from actual grid and detail viewport geometry.
  • Grid and detail views request independent image sizes.
  • Frontend sends bounded media.image requests through maxSize.
  • Core snaps requests to bounded thumbnail tiers: 32, 64, 128, 256, 512, and 768.
  • Core resizes once and caches lossy WebP thumbnails.
  • MiSTer can consume Core-owned local thumbnail paths instead of transferring base64 payloads.
  • Frontend caches decoded images in process memory with a strict 128 MiB LRU cap.

This keeps transferred and decoded images close to their rendered size without sacrificing detail-pane quality or requiring users to maintain device-specific artwork copies.

Implemented by ZaparooProject/zaparoo-core#1034 and frontend #377.

Activity

  1. added
    enhancementNew feature or request
    and removed
    bugSomething isn't working
    on Jun 27, 2026
  2. changed the title [-]Determine optimal image sizes for boxes to improve loading performance without losing quality.[/-] [+]perf(media): request display-sized cover thumbnails[/+] on Aug 17, 2026
  3. wizzomafizzo commented on Aug 17, 2026

    @wizzomafizzo
    Member

    Completed through Core’s tiered WebP thumbnail cache and frontend’s display-sized grid/detail requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions