StreamingAccuracyColors
StreamingAccuracyColors
#Overview
name: StreamingAccuracyColors
The value of this variable can be defined or overridden in .ini config files. 5
.ini config files referencing this setting variable.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of StreamingAccuracyColors is to define a set of colors used for visualizing texture streaming accuracy in debug view modes within Unreal Engine 5. This variable is part of the rendering system, specifically for debugging and visualizing texture streaming performance.
StreamingAccuracyColors is primarily used by the Renderer module of Unreal Engine. It’s referenced in the Engine class and utilized in debug view mode rendering and post-processing passes.
The value of this variable is set through the engine’s configuration system, as indicated by the UPROPERTY(globalconfig) decorator in the Engine.h file. This means it can be modified in the engine’s configuration files or through the project settings in the editor.
This variable interacts with other debug visualization systems, particularly those related to texture streaming and GPU performance. It’s used in conjunction with other debug view mode settings and post-processing passes.
Developers should be aware that:
- The number of colors defined in this array affects the granularity of the texture streaming accuracy visualization.
- Changes to this variable will only be visible when using specific debug view modes related to texture streaming.
- The colors are used in order, and if fewer colors are defined than needed, the system will fall back to using black for the remaining slots.
Best practices when using this variable include:
- Choosing a set of distinct colors that provide clear visual differentiation for various levels of streaming accuracy.
- Ensuring that the number of colors is sufficient for the level of detail needed in the visualization.
- Considering color-blind accessibility when selecting the color palette.
- Documenting the meaning of each color in the array for team reference.
- Using this visualization in conjunction with other performance metrics to get a comprehensive view of texture streaming performance.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:251, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=1.0,G=0.0,B=0.0,A=1.0)
- Is Array:
True
Location: <Workspace>/Engine/Config/BaseEngine.ini:252, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=0.8,G=0.5,B=0.0,A=1.0)
- Is Array:
True
Location: <Workspace>/Engine/Config/BaseEngine.ini:253, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=0.7,G=0.7,B=0.7,A=1.0)
- Is Array:
True
Location: <Workspace>/Engine/Config/BaseEngine.ini:254, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=0.0,G=0.8,B=0.5,A=1.0)
- Is Array:
True
Location: <Workspace>/Engine/Config/BaseEngine.ini:255, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=0.0,G=1.0,B=0.0,A=1.0)
- Is Array:
True
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h:1216
Scope (from outer to inner):
file
class class UEngine : public UObject , public FExec
Source code excerpt:
/** The colors used for texture streaming accuracy debug view modes. */
UPROPERTY(globalconfig)
TArray<FLinearColor> StreamingAccuracyColors;
/** The visualization color when sk mesh not using skin cache. */
UPROPERTY(globalconfig)
FLinearColor GPUSkinCacheVisualizationExcludedColor;
/** The visualization color when sk mesh using skin cache. */
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/DebugViewModeRendering.cpp:109
Scope (from outer to inner):
file
function void SetupDebugViewModePassUniformBufferConstants
Source code excerpt:
// Accuracy colors
{
const int32 NumEngineColors = FMath::Min<int32>(GEngine->StreamingAccuracyColors.Num(), NumStreamingAccuracyColors);
int32 ColorIndex = 0;
for (; ColorIndex < NumEngineColors; ++ColorIndex)
{
Parameters.AccuracyColors[ColorIndex] = GEngine->StreamingAccuracyColors[ColorIndex];
}
for (; ColorIndex < NumStreamingAccuracyColors; ++ColorIndex)
{
Parameters.AccuracyColors[ColorIndex] = FLinearColor::Black;
}
}
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/PostProcessing.cpp:1910
Scope (from outer to inner):
file
function void AddDebugViewPostProcessingPasses
Source code excerpt:
PassInputs.OverrideOutput = OverrideOutput;
PassInputs.SceneColor = SceneColor;
PassInputs.Colors = GEngine->StreamingAccuracyColors;
SceneColor = AddStreamingAccuracyLegendPass(GraphBuilder, View, PassInputs);
break;
}
case DVSM_VisualizeGPUSkinCache:
{