From 3359ecf131ce9b18bddd562007db0bf2ec4e5e8a Mon Sep 17 00:00:00 2001 From: Mathieu Moran Date: Mon, 14 Sep 2026 00:24:48 -0400 Subject: [PATCH] Fix store lag: decode cached covers off the GUI thread --- app/gui.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/gui.py b/app/gui.py index 270ad30..ddc0185 100644 --- a/app/gui.py +++ b/app/gui.py @@ -2231,10 +2231,10 @@ class StorePage(QWidget): rid, system = lc else: rid, system = covers.stable_key(it["name"]), it.get("system") or "games" - p = covers.cover_path(rid, system) - if p.exists() and covers.file_is_image(p): - item.setIcon(QIcon(_fit_pixmap(QPixmap(str(p)), self.ICON_W, self.ICON_H))) - elif system not in ("theme", "dlc") and rid not in self._cover_attempted: + # Covers are decoded + scaled off the GUI thread (StoreCoverLoader). + # Never load a QPixmap here — doing so for cached covers made the store + # unresponsive while filling/scrolling. + if system not in ("theme", "dlc") and rid not in self._cover_attempted: # Themes and DLC have no meaningful box art in libretro/IGDB, and # bulk-scraping hundreds of them on every switch to the DLC list # saturates the network/CPU and makes the store unresponsive.