GeometryCache.Streamer.ShowNotification
GeometryCache.Streamer.ShowNotification
#Overview
name: GeometryCache.Streamer.ShowNotification
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Show notification while the GeometryCache streamer is streaming data
It is referenced in 5
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of GeometryCache.Streamer.ShowNotification is to control whether a notification is displayed while the GeometryCache streamer is streaming data. This setting is primarily related to the GeometryCache system, which is used for efficient storage and playback of pre-computed geometry animations.
This setting variable is primarily used in the GeometryCache plugin and the MovieRenderPipeline module. The GeometryCache plugin relies on this variable to determine whether to show notifications during streaming, while the MovieRenderPipeline module uses it to configure the rendering environment for optimal movie capture.
The value of this variable is set using an FAutoConsoleVariableRef in the GeometryCacheStreamer.cpp file. It is initialized to true by default, meaning notifications are shown by default.
This variable interacts with other GeometryCache-related variables, particularly GeometryCache.Streamer.BlockTillFinishStreaming. These variables are often set together to control the behavior of the GeometryCache streamer during movie rendering.
Developers must be aware that this variable affects the user experience during GeometryCache streaming. When set to true, it provides visual feedback to users about the streaming process, which can be helpful for debugging or progress indication. However, when rendering movies or in other scenarios where visual notifications might interfere with the output, it’s typically set to false.
Best practices when using this variable include:
- Leave it enabled (true) during development and testing to get visual feedback on GeometryCache streaming.
- Disable it (set to false) when rendering final output, especially when using the MovieRenderPipeline, to avoid unwanted notifications in the rendered content.
- Consider the performance implications of showing notifications, especially on performance-critical platforms.
- Use it in conjunction with GeometryCache.Streamer.BlockTillFinishStreaming for complete control over the GeometryCache streaming behavior in different scenarios.
- Be aware of its automatic configuration in movie rendering contexts, and avoid manually changing it unless absolutely necessary in these scenarios.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Runtime/GeometryCache/Source/GeometryCacheStreamer/Private/GeometryCacheStreamer.cpp:18
Scope: file
Source code excerpt:
static bool GShowGeometryCacheStreamerNotification = true;
static FAutoConsoleVariableRef CVarGeometryCacheStreamerShowNotification(
TEXT("GeometryCache.Streamer.ShowNotification"),
GShowGeometryCacheStreamerNotification,
TEXT("Show notification while the GeometryCache streamer is streaming data"));
static bool GGeoCacheStreamerBlockTillFinishStreaming = false;
static FAutoConsoleVariableRef CVarBlockTillFinishStreaming(
TEXT("GeometryCache.Streamer.BlockTillFinishStreaming"),
#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Private/Graph/Nodes/MovieGraphGlobalGameOverrides.cpp:73
Scope (from outer to inner):
file
function void UMovieGraphGlobalGameOverridesNode::BuildNewProcessCommandLineArgsImpl
Source code excerpt:
{
InOutDeviceProfileCvars.Add(TEXT("GeometryCache.Streamer.BlockTillFinishStreaming=1"));
InOutDeviceProfileCvars.Add(TEXT("GeometryCache.Streamer.ShowNotification=0"));
}
#endif
InOutDeviceProfileCvars.Add(FString::Printf(TEXT("a.URO.Enable=%d"), 0));
InOutDeviceProfileCvars.Add(FString::Printf(TEXT("r.SkyLight.RealTimeReflectionCapture.TimeSlice=%d"), 0));
InOutDeviceProfileCvars.Add(FString::Printf(TEXT("r.VolumetricRenderTarget=%d"), 1));
#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Private/Graph/Nodes/MovieGraphGlobalGameOverrides.cpp:143
Scope (from outer to inner):
file
function void UMovieGraphGlobalGameOverridesNode::ApplySettings
Source code excerpt:
// To make sure the GeometryCache streamer doesn't skip frames and doesn't pop up notification during rendering
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT_IF_EXIST(PreviousGeoCacheStreamerBlockTillFinish, TEXT("GeometryCache.Streamer.BlockTillFinishStreaming"), 1, bOverrideValues);
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT_IF_EXIST(PreviousGeoCacheStreamerShowNotification, TEXT("GeometryCache.Streamer.ShowNotification"), 0, bOverrideValues);
#endif
// Disable systems that try to preserve performance in runtime games.
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT(PreviousAnimationUROEnabled, TEXT("a.URO.Enable"), 0, bOverrideValues);
// To make sure that the skylight is always valid and consistent across capture sessions, we enforce a full capture each frame, accepting a small GPU cost.
#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Private/MoviePipelineGameOverrideSetting.cpp:106
Scope (from outer to inner):
file
function void UMoviePipelineGameOverrideSetting::ApplyCVarSettings
Source code excerpt:
// To make sure the GeometryCache streamer doesn't skip frames and doesn't pop up notification during rendering
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT_IF_EXIST(PreviousGeoCacheStreamerBlockTillFinish, TEXT("GeometryCache.Streamer.BlockTillFinishStreaming"), 1, bOverrideValues);
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT_IF_EXIST(PreviousGeoCacheStreamerShowNotification, TEXT("GeometryCache.Streamer.ShowNotification"), 0, bOverrideValues);
#endif
{
// Disable systems that try to preserve performance in runtime games.
MOVIEPIPELINE_STORE_AND_OVERRIDE_CVAR_INT(PreviousAnimationUROEnabled, TEXT("a.URO.Enable"), 0, bOverrideValues);
}
#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Private/MoviePipelineGameOverrideSetting.cpp:228
Scope (from outer to inner):
file
function void UMoviePipelineGameOverrideSetting::BuildNewProcessCommandLineArgsImpl
Source code excerpt:
{
InOutDeviceProfileCvars.Add(TEXT("GeometryCache.Streamer.BlockTillFinishStreaming=1"));
InOutDeviceProfileCvars.Add(TEXT("GeometryCache.Streamer.ShowNotification=0"));
}
#endif
{
InOutDeviceProfileCvars.Add(FString::Printf(TEXT("a.URO.Enable=%d"), 0));
}