r.TemporalAA.R11G11B10History
r.TemporalAA.R11G11B10History
#Overview
name: r.TemporalAA.R11G11B10History
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Select the bitdepth of the history.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of r.TemporalAA.R11G11B10History is to select the bit depth of the history buffer used in Temporal Anti-Aliasing (TAA) in Unreal Engine’s rendering system. This setting variable allows developers to control the precision of the history information stored for TAA calculations.
This setting variable is primarily used in the Renderer module of Unreal Engine, specifically within the Temporal Anti-Aliasing subsystem. Based on the callsites, it’s clear that this variable is utilized in the post-processing stage of the rendering pipeline.
The value of this variable is set through the console variable system in Unreal Engine. It’s defined as a TAutoConsoleVariable with a default value of 1, indicating that by default, the R11G11B10 format is used for the history buffer.
The associated variable CVarTAAR11G11B10History directly interacts with r.TemporalAA.R11G11B10History. They share the same value and purpose, with CVarTAAR11G11B10History being the C++ representation of the console variable.
Developers must be aware that this variable affects the memory usage and potentially the quality of the Temporal Anti-Aliasing effect. Using the R11G11B10 format (when the value is 1) provides a good balance between precision and memory efficiency, but it may not be suitable for all scenarios.
Best practices when using this variable include:
- Consider the target hardware capabilities when adjusting this setting.
- Test the visual quality impact when changing this value, especially in high-contrast scenes.
- Be mindful of the memory implications, particularly on platforms with limited resources.
- Use in conjunction with other TAA settings for optimal results.
Regarding the associated variable CVarTAAR11G11B10History:
The purpose of CVarTAAR11G11B10History is to provide programmatic access to the r.TemporalAA.R11G11B10History setting within the C++ code of the engine.
This variable is used directly in the Renderer module, specifically in the TemporalAA post-processing pass. It’s accessed in the AddTemporalAAPass function to determine the pixel format of the history buffer.
The value of CVarTAAR11G11B10History is set when the r.TemporalAA.R11G11B10History console variable is modified, as they are linked through the TAutoConsoleVariable system.
CVarTAAR11G11B10History interacts closely with other TAA-related variables and the overall rendering pipeline, influencing the choice of pixel format for the history buffer.
Developers should be aware that accessing this variable should be done on the render thread, as indicated by the ECVF_RenderThreadSafe flag in its declaration.
Best practices for using CVarTAAR11G11B10History include:
- Always access its value on the render thread using GetValueOnRenderThread().
- Consider caching the value if used frequently to avoid repeated console variable lookups.
- Be cautious when modifying this value at runtime, as it may impact performance and visual quality.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/Android/AndroidEngine.ini:89, section: [ConsoleVariables]
- INI Section:
ConsoleVariables
- Raw value:
0
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/TemporalAA.cpp:67
Scope (from outer to inner):
file
namespace anonymous
Source code excerpt:
TAutoConsoleVariable<int32> CVarTAAR11G11B10History(
TEXT("r.TemporalAA.R11G11B10History"), 1,
TEXT("Select the bitdepth of the history."),
ECVF_RenderThreadSafe);
TAutoConsoleVariable<int32> CVarTAAUseMobileConfig(
TEXT("r.TemporalAA.UseMobileConfig"),
0,
#Associated Variable and Callsites
This variable is associated with another variable named CVarTAAR11G11B10History
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/TemporalAA.cpp:66
Scope (from outer to inner):
file
namespace anonymous
Source code excerpt:
ECVF_RenderThreadSafe);
TAutoConsoleVariable<int32> CVarTAAR11G11B10History(
TEXT("r.TemporalAA.R11G11B10History"), 1,
TEXT("Select the bitdepth of the history."),
ECVF_RenderThreadSafe);
TAutoConsoleVariable<int32> CVarTAAUseMobileConfig(
TEXT("r.TemporalAA.UseMobileConfig"),
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/TemporalAA.cpp:612
Scope (from outer to inner):
file
function FTAAOutputs AddTemporalAAPass
Source code excerpt:
if (bIsMainPass &&
(Inputs.Quality != ETAAQuality::High) && (Inputs.Quality != ETAAQuality::MediumHigh) &&
!bSupportsAlpha && CVarTAAR11G11B10History.GetValueOnRenderThread())
{
HistoryPixelFormat = PF_FloatR11G11B10;
}
FRDGTextureDesc SceneColorDesc = FRDGTextureDesc::Create2D(
OutputExtent,