「Unity/負荷軽減/Memory」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→UnityObjecsの項目) |
(→確認) |
||
行36: | 行36: | ||
+ }, | + }, | ||
</pre> | </pre> | ||
+ | |||
+ | ==メモリ使用しているオブジェクト名の確認== | ||
+ | #MemoryProfiler/Captureボタンを押す | ||
+ | |||
+ | Captureファイルは、プロジェクト直下の、MemoryCapturesの直下に、置かれる。 | ||
==UnityObjecsの項目== | ==UnityObjecsの項目== |
2023年11月20日 (月) 01:21時点における版
目次
メモリ対策
- プロジェクトを、一旦閉じて開く
- Unityメインメニュー/Windows/Analysis/Profiler/Memory/TotalCommitedMemoryを確認
閉じて、開かないと、メモリが蓄積するので、一度、プロジェクトは閉じる。
MemoryProfilerPackageインストール
- 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" + },
メモリ使用しているオブジェクト名の確認
- 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になるが、画質はすごく落ちる