Skip to content

(cheevos) download badges on demand#18639

Merged
LibretroAdmin merged 3 commits intolibretro:masterfrom
Jamiras:feature/async_badges
Jan 24, 2026
Merged

(cheevos) download badges on demand#18639
LibretroAdmin merged 3 commits intolibretro:masterfrom
Jamiras:feature/async_badges

Conversation

@Jamiras
Copy link
Copy Markdown
Contributor

@Jamiras Jamiras commented Jan 23, 2026

Description

Instead of predownloading all achievement badges associated to a game, they are now downloaded on demand. This may cause the placeholder image to be displayed momentarily while the badge is downloaded, but avoids downloading all badges for a game when the user might not ever need most of them.

This will also eliminate the studder reported in #16470 and #17758 when initially loading a game, with the tradeoff of a small studder at each unlock.

Note that viewing the achievement menu creates demand for all of the game badges, so that will cause the mass download that was previously performed when the game was loaded. But doing so with the menu open will not impact the player's game experience. Closing the menu before the mass download completes will stop the mass download once the currently requested badges are written to disk.

Related Issues

#16470, #17758

Related Pull Requests

n/a

Reviewers

[If possible @mention all the people that should review your pull request]

@LibretroAdmin LibretroAdmin merged commit 7db66bb into libretro:master Jan 24, 2026
34 checks passed
@Jamiras Jamiras deleted the feature/async_badges branch January 24, 2026 14:34
@enagonius
Copy link
Copy Markdown

That's basically causing the placeholder badge to be shown any time an achievement pops up. Opening the achievements menu to force a mass download doesn't help with this because that will only download the grayscale badges for achievements you haven't unlocked and colored badges for achievements you have already unlocked; once you unlock an achievement, the pop-up still requires the colored badge that will be downloaded on demand, making the shown badge to be the placeholder badge VERY often.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants