diff --git a/com.unity.render-pipelines.core/Editor/Debugging/DebugUIDrawer.cs b/com.unity.render-pipelines.core/Editor/Debugging/DebugUIDrawer.cs index 2dd6c162e83..38845ceeda3 100644 --- a/com.unity.render-pipelines.core/Editor/Debugging/DebugUIDrawer.cs +++ b/com.unity.render-pipelines.core/Editor/Debugging/DebugUIDrawer.cs @@ -36,10 +36,12 @@ protected T Cast(object o) where T : class { var casted = o as T; - string typeName = o == null ? "null" : o.GetType().ToString(); if (casted == null) + { + string typeName = o == null ? "null" : o.GetType().ToString(); throw new InvalidOperationException("Can't cast " + typeName + " to " + typeof(T)); + } return casted; } diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index cf1956cffbb..4b2accf6676 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -592,6 +592,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with sceneview camera settings not being saved after Editor restart. - Fixed issue when switching back to custom sensor type in physical camera settings (case 1244350). - Fixed a null ref exception when running playmode tests with the render pipeline debug window opened. +- Fixed some GCAlloc in the debug window. ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/VolumeDebug.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/VolumeDebug.cs index 9923bb4d42f..2d6f1536a8f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/VolumeDebug.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/VolumeDebug.cs @@ -123,15 +123,21 @@ public Type selectedComponentType } } + static List s_ComponentTypes; + /// List of Volume component types. static public List componentTypes { get { - return VolumeManager.instance.baseComponentTypes + if (s_ComponentTypes == null) + { + s_ComponentTypes = VolumeManager.instance.baseComponentTypes .Where(t => !t.IsDefined(typeof(VolumeComponentDeprecated), false)) .OrderBy(t => ComponentDisplayName(t)) .ToList(); + } + return s_ComponentTypes; } }