Unity3D Profilerは私に、ほとんどガベージコレクションに関するスパイクを与えます。下のスクリーンショットでは、3つの赤いスパイクがゲームプレイにあった3つの屋台を表しています。これらのストールはそれぞれ100 + msで、ほとんどの時間はTrackDependencies
に費やされました。これは助けにはならなかったUnity3D:ガベージコレクションを最適化する
if (Time.frameCount % 30 == 0)
{
System.GC.Collect();
}
:
はUnity instructionによると、私は自分のコードにこれを追加してみました。私はまだスパイクがあり、彼らはまだ100 + msを取る。正確には何が起きていますか、私のゲームを最適化するために何ができますか?
PS:
私は動的に作成し、自分のゲームでGameObject
秒の多くを破壊しています。それが問題なのでしょうか?
戻り値としてループまたは配列内に文字列連結がありません。これは、the postで囲まれています。
コードのどこかでオブジェクトを破棄していますか? – Heisenbug
可能であれば、過度の破壊を避けるためにオブジェクトをプールすることは良い解決策になります。 – SlxS
@Heisenbugはい私はゲームで多くのオブジェクトを動的に作成して破壊しています。私のdestroyオブジェクト関数では、私は 'Resources.UnloadUnusedAssets();' – CherryQu