回答編集履歴
1
ネイティブ側ではなくC#側のメモリであることを明確にするため、用語を修正
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
ご提示のDeep Profile結果から想像しますと、もしかしてメニューの「Jobs」→「Leak Detection」がオンになっていませんでしょうか?
|
2
2
|
|
3
|
-
ここがオンだと、NativeArray生成時に内部で[DisposeSentinel](https://docs.unity3d.com/ScriptReference/Unity.Collections.LowLevel.Unsafe.DisposeSentinel.html)とか[StackTrace](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.stacktrace?view=netframework-4.8)が生成されるようです。これらはいずれも参照型ですので、ヒープ領域を少しずつ消費しているのかもしれません。
|
3
|
+
ここがオンだと、NativeArray生成時に内部で[DisposeSentinel](https://docs.unity3d.com/ScriptReference/Unity.Collections.LowLevel.Unsafe.DisposeSentinel.html)とか[StackTrace](https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.stacktrace?view=netframework-4.8)が生成されるようです。これらはいずれも参照型ですので、マネージドヒープ領域を少しずつ消費しているのかもしれません。
|
4
4
|
|
5
5
|
「Leak Detection」はNativeArrayの解放忘れをチェックしてくれる機能だそうですが、試しにこれをオフにしてみると変化はあるでしょうか。
|