Donc, j'ai lu un peu sur Garbage Collection récemment, par curiosité, et il y a quelque chose qui se répète assez souvent: la collecte des ordures peut entraîner un ralentissement soudain du programme, en fonction de la "profondeur" de la collecte.
Mais dans les jeux vidéo, il y a un moment où l'utilisateur ne peut pas vraiment remarquer un petit décalage: l'écran de chargement. Donc, je pensais, il pourrait être utile de procéder à une collecte complète des déchets pendant une phase de chargement (via Collect ()), le fait d'attendre une seconde ou deux de plus ne devrait pas vraiment avoir d'impact sur l'utilisateur.
Ma question est la suivante: est-ce vraiment utile ou n'y a-t-il aucun avantage réel à le faire?
Réponses:
Oui, appelez-le comme la dernière chose que vous faites lors du chargement.
Cela maximisera le temps entre le début du niveau et le premier décalage dû à un GC.
Vous devriez également essayer de minimiser les allocations en général, de sorte que vous n'ayez plus de retards pendant un niveau.
Voir les mauvaises performances sur 360 et WP7 et Twin Paths To Garbage Collector Nirvana
la source