facebook twitter hatena line email

「Unity/負荷軽減/Memory」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(UnityObjecsの項目)
(確認)
行36: 行36:
 
+    },
 
+    },
 
</pre>
 
</pre>
 +
 +
==メモリ使用しているオブジェクト名の確認==
 +
#MemoryProfiler/Captureボタンを押す
 +
 +
Captureファイルは、プロジェクト直下の、MemoryCapturesの直下に、置かれる。
  
 
==UnityObjecsの項目==
 
==UnityObjecsの項目==

2023年11月20日 (月) 01:21時点における版

メモリ対策

  1. プロジェクトを、一旦閉じて開く
  2. Unityメインメニュー/Windows/Analysis/Profiler/Memory/TotalCommitedMemoryを確認

閉じて、開かないと、メモリが蓄積するので、一度、プロジェクトは閉じる。

MemoryProfilerPackageインストール

  1. Unityメインメニュー/Windows/PackageManagerで、MemoryProfilerを検索してインストール。

確認

差分確認

Packages/packages-lock.json

+    "com.unity.memoryprofiler": {
+      "version": "1.1.0",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.editorcoroutines": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },

Packages/packages-lock.json

+    "com.unity.memoryprofiler": {
+      "version": "1.1.0",
+      "depth": 0,
+      "source": "registry",
+      "dependencies": {
+        "com.unity.editorcoroutines": "1.0.0"
+      },
+      "url": "https://packages.unity.com"
+    },

メモリ使用しているオブジェクト名の確認

  1. MemoryProfiler/Captureボタンを押す

Captureファイルは、プロジェクト直下の、MemoryCapturesの直下に、置かれる。

UnityObjecsの項目

公式:https://docs.unity3d.com/Packages/com.unity.memoryprofiler@1.1/manual/unity-objects-tab.html

Description	個々のオブジェクトまたはオブジェクトのグループの名前を表示します。無効にすることはできません。
Allocated Size	オブジェクトまたはオブジェクトのグループに割り当てられたメモリの量をバイト単位で表示します。
Resident Size	オブジェクトまたはオブジェクトのグループが常駐するメモリの量をバイト単位で表示します。
% Impact	オブジェクトまたはオブジェクトのグループが使用するメモリの量を、[テーブル内の割り当てられたメモリ]値のパーセンテージとして表示します。「テーブル内の割り当てられたメモリ」バーを含むすべての測定バーは、テーブル内で選択されたオブジェクトに基づいて動的に調整されます。
Native Size	[割り当てサイズ]値のうちネイティブ メモリが占​​める割合を表示します。
Managed Size	割り当てサイズの値のうち、管理対象メモリがどのくらいの量を占めているかを表示します。
Graphics Size	[割り当てサイズ]値のうち、グラフィックス メモリがどのくらいの量を占めているかを表示します。

Texture2Dについて

プラットフォームごとに、サイズが異なるので、一旦PCで計測。

標準設定

MaxSize:2048
ResizeAlgorithm:mitchell
Format:Automatic
Compression:NormalQuality
UseCrunchCompression:off

公式:https://docs.unity3d.com/ja/2022.3/Manual/class-TextureImporter.html

2.4Mの画像サイズで(2652px:1658px)の場合、メモリ消費は、2.5Mでした。

UseCrunchCompressionについて

公式

使用可能な場合は、クランチ圧縮を使用します。クランチは DXT テクスチャや ETC テクスチャの圧縮に使用できる不可逆圧縮形式です。テクスチャは CPU で DXT か ETC に解凍され、ランタイムに GPU に読み込まれます。クランチ圧縮は、ディスク上やダウンロード時に使用するスペース量をできるだけ少なくしたいときに役立ちます。クランチテクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。
  • UseCrunchCompression : offで、メモリ消費は、2.5Mに
  • UseCrunchCompression : onで、50%としたとき、メモリ消費は、1.4Mに

Compressionについて

  • LowQualityにしたとき、メモリ消費は、2.5Mに
  • NormalQualityにしたとき、メモリ消費は、2.5Mに
  • HighQualityにしたとき、メモリ消費は、5.0Mに

MaxSizeについて

縦横の上限pxがこれを超えてたら、アスペクト維持で、そのサイズになるとかかも。

  • 2048のとき、メモリ消費は、2.5Mに
  • 1024のとき、メモリ消費は、0.6Mになるが、画質は落ちる
  • 512のとき、メモリ消費は、160.5Kになるが、画質はすごく落ちる