facebook twitter hatena line email

Unity/負荷軽減/基本

提供: 初心者エンジニアの簡易メモ
2023年8月16日 (水) 01:12時点におけるAdmin (トーク | 投稿記録)による版 (対策方法)

移動: 案内検索

profiler確認

  1. unityメインメニュー/window/analysis/profilerで確認
  2. playボタンを押すと動作する

使用状況詳細確認

  1. profilerでCPU Usageを選択
  2. 左中段にある、cmbボタンを選択し、Hierarchyを選択。
  3. Liveを選択
  4. GC Allocなど確認できる。

実行中に使用状況を確認する場合

  1. play実行
  2. profilerでCPU Usageを選択
  3. 左中段にある、cmbボタンを選択し、Hierarchyを選択。
  4. グラフのどこかをクリックして、選択
  5. PlayerLoopのところを展開していく。

参考: https://light11.hatenadiary.com/entry/2019/09/19/000006

対策方法

GameObject.Findは重い、GameObject.FindWithTagを使う

GameObject tag = FindWithTag("Tag1");

ObjectのInspectorの上のほうにaddTagする。

参考:https://squmarigames.com/2018/12/13/unity-beginner-find/

FindObjectOfTypeも重い、GameObject.FindWithTagを使う

参考:https://baba-s.hatenablog.com/entry/2014/07/09/093240

Json.netよりJson.Utilityを使う

参考:https://yubeshicat.hatenablog.com/entry/2019/11/02/180914

GetComponentよりTryGetComponentを使う?

GetComponentをTryGetComponentにすることで、GC Allocが発生しなくなる?

参考:https://xrdnk.hateblo.jp/entry/2020/03/23/210320#TryGetComponent%E3%81%A8%E3%81%AF

LogStringToConsoleの処理

Debug.Log()はできるだけ消す。

参考:https://masakami.com/archives/2019/02/04/34/

UniRxの購読の解除を

参考:https://zenn.dev/keisuke114/scraps/6f9496752208c0