Unity3D: optimiser la collecte des ordures

Unity3D Profiler me donne des pointes qui est la plupart du temps sur la collecte des ordures. Dans la capture d'écran ci-dessous, les trois pointes rouges représentent les trois stands que j'avais dans mon gameplay. Chacun de ces stands sont+de 100 ms, et la plupart du temps a été passé sur TrackDependencies.

Selon L'unité d'instruction, j'ai essayé d'ajouter ce point à mon code:

if (Time.frameCount % 30 == 0)
{
    System.GC.Collect();
}

Cela n'a pas aidé. J'ai encore des pointes et ils prendront encore+de 100 ms. Exactement ce qui se passe et que puis-je faire pour optimiser mon jeu?

PS:

Je suis dynamiquement de la création et de la destruction d'un lot de GameObjects dans mon jeu. Pourrait être un problème?

Je n'ai pas de concaténation de chaîne dans une boucle ou d'un tableau comme valeur de retour comme caveated dans le post.

Unity3D: optimiser la collecte des ordures

êtes-vous en détruisant des objets quelque part dans votre code?
Si possible, la mise en commun de vos objets pour éviter les excès de destruction pourrait être une bonne solution.
Oui je suis de manière dynamique de la création et de la destruction d'un lot d'objets dans mon jeu. Dans mon détruire la fonction de l'objet, j'ai aussi appelé Resources.UnloadUnusedAssets();

OriginalL'auteur CherryQu | 2013-07-05