Fix store lag: decode cached covers off the GUI thread
build / Linux x86_64 (push) Successful in 2m48s
build / Windows x64 (Wine) (push) Successful in 3m17s

This commit is contained in:
2026-09-14 00:24:48 -04:00
parent 38a3859a21
commit 3359ecf131
+4 -4
View File
@@ -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.