Skip to content
This repository was archived by the owner on Nov 30, 2020. It is now read-only.

Commit 3e5346a

Browse files
committed
Added more performance warnings
1 parent 88ef4c9 commit 3e5346a

File tree

5 files changed

+89
-8
lines changed

5 files changed

+89
-8
lines changed

PostProcessing/Editor/Effects/BloomEditor.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public sealed class BloomEditor : PostProcessEffectEditor<Bloom>
1111
SerializedParameterOverride m_Diffusion;
1212
SerializedParameterOverride m_AnamorphicRatio;
1313
SerializedParameterOverride m_Color;
14-
SerializedParameterOverride m_MobileOptimized;
14+
SerializedParameterOverride m_FastMode;
1515

1616
SerializedParameterOverride m_DirtTexture;
1717
SerializedParameterOverride m_DirtIntensity;
@@ -24,8 +24,8 @@ public override void OnEnable()
2424
m_Diffusion = FindParameterOverride(x => x.diffusion);
2525
m_AnamorphicRatio = FindParameterOverride(x => x.anamorphicRatio);
2626
m_Color = FindParameterOverride(x => x.color);
27-
m_MobileOptimized = FindParameterOverride(x => x.fastMode);
28-
27+
m_FastMode = FindParameterOverride(x => x.fastMode);
28+
2929
m_DirtTexture = FindParameterOverride(x => x.dirtTexture);
3030
m_DirtIntensity = FindParameterOverride(x => x.dirtIntensity);
3131
}
@@ -40,7 +40,10 @@ public override void OnInspectorGUI()
4040
PropertyField(m_Diffusion);
4141
PropertyField(m_AnamorphicRatio);
4242
PropertyField(m_Color);
43-
PropertyField(m_MobileOptimized);
43+
PropertyField(m_FastMode);
44+
45+
if (m_FastMode.overrideState.boolValue && !m_FastMode.value.boolValue && EditorUtilities.isTargetingConsolesOrMobiles)
46+
EditorGUILayout.HelpBox("For performance reasons it is recommended to use Fast Mode on mobile and console platforms.", MessageType.Warning);
4447

4548
EditorGUILayout.Space();
4649
EditorUtilities.DrawHeaderLabel("Dirtiness");
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using UnityEngine.Rendering.PostProcessing;
2+
3+
namespace UnityEditor.Rendering.PostProcessing
4+
{
5+
[PostProcessEditor(typeof(ChromaticAberration))]
6+
public sealed class ChromaticAberrationEditor : PostProcessEffectEditor<ChromaticAberration>
7+
{
8+
SerializedParameterOverride m_SpectralLut;
9+
SerializedParameterOverride m_Intensity;
10+
SerializedParameterOverride m_FastMode;
11+
12+
public override void OnEnable()
13+
{
14+
m_SpectralLut = FindParameterOverride(x => x.spectralLut);
15+
m_Intensity = FindParameterOverride(x => x.intensity);
16+
m_FastMode = FindParameterOverride(x => x.fastMode);
17+
}
18+
19+
public override void OnInspectorGUI()
20+
{
21+
base.OnInspectorGUI();
22+
23+
PropertyField(m_SpectralLut);
24+
PropertyField(m_Intensity);
25+
PropertyField(m_FastMode);
26+
27+
if (m_FastMode.overrideState.boolValue && !m_FastMode.value.boolValue && EditorUtilities.isTargetingConsolesOrMobiles)
28+
EditorGUILayout.HelpBox("For performance reasons it is recommended to use Fast Mode on mobile and console platforms.", MessageType.Warning);
29+
}
30+
}
31+
}

PostProcessing/Editor/Effects/ChromaticAberrationEditor.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PostProcessing/Editor/PostProcessLayerEditor.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public sealed class PostProcessLayerEditor : BaseEditor<PostProcessLayer>
2424
SerializedProperty m_TaaStationaryBlending;
2525
SerializedProperty m_TaaMotionBlending;
2626
SerializedProperty m_SmaaQuality;
27-
SerializedProperty m_FxaaMobileOptimized;
27+
SerializedProperty m_FxaaFastMode;
2828
SerializedProperty m_FxaaKeepAlpha;
2929

3030
SerializedProperty m_FogEnabled;
@@ -63,7 +63,7 @@ void OnEnable()
6363
m_TaaStationaryBlending = FindProperty(x => x.temporalAntialiasing.stationaryBlending);
6464
m_TaaMotionBlending = FindProperty(x => x.temporalAntialiasing.motionBlending);
6565
m_SmaaQuality = FindProperty(x => x.subpixelMorphologicalAntialiasing.quality);
66-
m_FxaaMobileOptimized = FindProperty(x => x.fastApproximateAntialiasing.fastMode);
66+
m_FxaaFastMode = FindProperty(x => x.fastApproximateAntialiasing.fastMode);
6767
m_FxaaKeepAlpha = FindProperty(x => x.fastApproximateAntialiasing.keepAlpha);
6868

6969
m_FogEnabled = FindProperty(x => x.fog.enabled);
@@ -164,11 +164,17 @@ void DoAntialiasing()
164164
EditorGUILayout.HelpBox("SMAA doesn't work with Single-pass stereo rendering.", MessageType.Warning);
165165

166166
EditorGUILayout.PropertyField(m_SmaaQuality);
167+
168+
if (m_SmaaQuality.intValue != (int)SubpixelMorphologicalAntialiasing.Quality.Low && EditorUtilities.isTargetingConsolesOrMobiles)
169+
EditorGUILayout.HelpBox("For performance reasons it is recommended to use Low Quality on mobile and console platforms.", MessageType.Warning);
167170
}
168171
else if (m_AntialiasingMode.intValue == (int)PostProcessLayer.Antialiasing.FastApproximateAntialiasing)
169172
{
170-
EditorGUILayout.PropertyField(m_FxaaMobileOptimized);
173+
EditorGUILayout.PropertyField(m_FxaaFastMode);
171174
EditorGUILayout.PropertyField(m_FxaaKeepAlpha);
175+
176+
if (!m_FxaaFastMode.boolValue && EditorUtilities.isTargetingConsolesOrMobiles)
177+
EditorGUILayout.HelpBox("For performance reasons it is recommended to use Fast Mode on mobile and console platforms.", MessageType.Warning);
172178
}
173179
}
174180
EditorGUI.indentLevel--;

PostProcessing/Editor/Utils/EditorUtilities.cs

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,36 @@ public static class EditorUtilities
1414

1515
static PostProcessEffectSettings s_ClipboardContent;
1616

17+
public static bool isTargetingConsoles
18+
{
19+
get
20+
{
21+
var t = EditorUserBuildSettings.activeBuildTarget;
22+
return t == BuildTarget.PS4
23+
|| t == BuildTarget.XboxOne
24+
|| t == BuildTarget.Switch;
25+
}
26+
}
27+
28+
public static bool isTargetingMobiles
29+
{
30+
get
31+
{
32+
var t = EditorUserBuildSettings.activeBuildTarget;
33+
return t == BuildTarget.Android
34+
|| t == BuildTarget.iOS
35+
|| t == BuildTarget.tvOS
36+
|| t == BuildTarget.Tizen
37+
|| t == BuildTarget.N3DS
38+
|| t == BuildTarget.PSP2;
39+
}
40+
}
41+
42+
public static bool isTargetingConsolesOrMobiles
43+
{
44+
get { return isTargetingConsoles || isTargetingMobiles; }
45+
}
46+
1747
static EditorUtilities()
1848
{
1949
s_GUIContentCache = new Dictionary<string, GUIContent>();
@@ -209,7 +239,7 @@ public static bool DrawHeader(string title, SerializedProperty group, Serialized
209239
var e = Event.current;
210240

211241
if (e.type == EventType.MouseDown)
212-
{
242+
{
213243
if (menuRect.Contains(e.mousePosition))
214244
{
215245
ShowHeaderContextMenu(new Vector2(menuRect.x, menuRect.yMax), target, resetAction, removeAction);

0 commit comments

Comments
 (0)