modeling.WorldRenderCapture.VTWarmupFrames
modeling.WorldRenderCapture.VTWarmupFrames
#Overview
name: modeling.WorldRenderCapture.VTWarmupFrames
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Number of frames to render before each capture in order to warmup the renderer.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of modeling.WorldRenderCapture.VTWarmupFrames is to control the number of frames rendered before each capture to warm up the renderer in the Mesh Modeling Toolset plugin for Unreal Engine 5.
This setting variable is primarily used in the Mesh Modeling Toolset plugin, specifically within the ModelingComponents module. It is part of the rendering system for world capture functionality.
The value of this variable is set as a console variable with a default value of 5. It can be modified at runtime through console commands or programmatically.
The associated variable CVarModelingWorldRenderCaptureWarmupFrames directly interacts with modeling.WorldRenderCapture.VTWarmupFrames. They share the same value and purpose.
Developers must be aware that this variable affects the rendering performance and quality of world captures in the Mesh Modeling Toolset. Increasing the number of warmup frames may improve the quality of the capture but will also increase the time taken for each capture operation.
Best practices when using this variable include:
- Adjusting the value based on the specific needs of your project and the complexity of the scenes being captured.
- Monitoring performance impacts when modifying this value, especially in performance-critical scenarios.
- Considering the trade-off between capture quality and capture speed when setting this value.
Regarding the associated variable CVarModelingWorldRenderCaptureWarmupFrames:
This is the actual console variable that controls the number of warmup frames. It is used in the PerformSceneRender function to determine how many times to render the scene before capturing. The value is retrieved using the GetValueOnGameThread() method, which ensures thread-safe access to the variable’s value.
Developers should note that modifying this variable will directly affect the behavior of the world render capture system in the Mesh Modeling Toolset. It’s important to consider the performance implications of increasing this value, especially in scenarios where frequent captures are performed.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Private/Scene/WorldRenderCapture.cpp:28
Scope: file
Source code excerpt:
static TAutoConsoleVariable<int32> CVarModelingWorldRenderCaptureWarmupFrames(
TEXT("modeling.WorldRenderCapture.VTWarmupFrames"),
5,
TEXT("Number of frames to render before each capture in order to warmup the renderer."));
FRenderCaptureTypeFlags FRenderCaptureTypeFlags::All(bool bCombinedMRS)
{
FRenderCaptureTypeFlags Result;
#Associated Variable and Callsites
This variable is associated with another variable named CVarModelingWorldRenderCaptureWarmupFrames
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Private/Scene/WorldRenderCapture.cpp:27
Scope: file
Source code excerpt:
using namespace UE::Geometry;
static TAutoConsoleVariable<int32> CVarModelingWorldRenderCaptureWarmupFrames(
TEXT("modeling.WorldRenderCapture.VTWarmupFrames"),
5,
TEXT("Number of frames to render before each capture in order to warmup the renderer."));
FRenderCaptureTypeFlags FRenderCaptureTypeFlags::All(bool bCombinedMRS)
{
#Loc: <Workspace>/Engine/Plugins/Runtime/MeshModelingToolset/Source/ModelingComponents/Private/Scene/WorldRenderCapture.cpp:391
Scope (from outer to inner):
file
namespace UE
namespace Internal
function static void PerformSceneRender
Source code excerpt:
do
{
int32 NumRender = 1 + CVarModelingWorldRenderCaptureWarmupFrames.GetValueOnGameThread();
for (int32 i = 0; i < NumRender; i++)
{
GetRendererModule().BeginRenderingViewFamily(Canvas, ViewFamily);
}
// Flush rendering commands, may queue assets compilation (shaders)