bevyengine / bevyengine/bevy

Add an example demonstrating how to load your assets sequentially to reduce memory usage on web platforms

Ouverte
#12,653 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
A-Assets C-Examples C-Performance O-Web
Langage dominant
Rust
Étoiles
48.2k
Forks
4.8k
Merge moyen
3 j 16 h
PR mergées (30 j)
171

Description

## What problem does this solve or what need does it fill?

On WASM, memory cannot be reclaimed / freed. As a result, loading all of your assets up front in a loading-screen pattern will balloon your memory usage and it will never go back down. See https://github.com/bevyengine/bevy/issues/12057 for more context.

## What solution would you like?

Add an example demonstrating how to load assets one at a time, and then moving them onto the GPU using `RenderAssetUsage` once loaded.

Explain why this is useful for web.

## What alternative(s) have you considered?

We could make this the default behavior on wasm.

## Additional context

This came up when helping a commercial user debug performance issues on iOS.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner l’approche de chargement des assets décrite dans cet issue et l’API RenderAssetUsage, puis lisez le contexte associé dans l’issue #12057. C’est terminé lorsqu’un exemple charge les assets séquentiellement, déplace chacun d’eux sur le GPU avec RenderAssetUsage et explique pourquoi cela réduit la mémoire non libérée sur les plateformes web.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust, wasm
Domaine
game-dev, performance
Type d'issue
Documentation
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.