LoginSignup
2
2

More than 5 years have passed since last update.

Unityのとあるゲームでメモリ調査した件

Posted at

はじめに

  • Sceneに設置されている、とあるオブジェクト(以下、Manager)がメモリをかなり食っている

環境

  • Unity5.0.2p4

計測方法

  • Xcodeでメモリで計測
  • iPhone5

特定まで

  • ManagerのInspectorで参照しているPrefabを外したところ30MB程減った
  • 上記Prefab(以下、親Prefab)が1個当たり0.01~0.6秒、100~200kb程であり、550個程読み込んでいた

1個当たりの容量が大きい理由

  • 子PrefabがInspectorでデータ量が大きいScriptableObjectを参照していた
  • また、子Prefabが同じScriptableObjectを参照している場合でも都度メモリが確保されてしまう


親A → 子AA → 孫AAA(ScriptableObject)
親B → 子BB → 孫AAA(ScriptableObject)
孫AAAが100kbあったとした時、合計200kbメモリを確保してしまっている様子

改善確認

未対応状態

  • 起動直後 125MB
  • Gameシーン遷移までの時間 35秒程
  • Gameシーン遷移安定後 340MB ~ 360MB
  • 服屋描画安定後 360MB ~ 370MB
  • 親Prefabの読み込み時間 0.01~0.6秒

対応状態

  • 起動直後 125MB
  • Gameシーン遷移までの時間 28秒程
  • Gameシーン遷移安定後 320MB ~ 340MB
  • 服屋描画安定後 350MB ~ 360MB
  • 親Prefabの読み込み時間 0.0001秒以下
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2