renderdoc.CaptureAllActivity
renderdoc.CaptureAllActivity
#Overview
name: renderdoc.CaptureAllActivity
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
0 - RenderDoc will only capture data from the current viewport. 1 - RenderDoc will capture all activity, in all viewports and editor windows for the entire frame.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of renderdoc.CaptureAllActivity is to control the scope of RenderDoc’s capture functionality within Unreal Engine 5. This setting variable is specifically related to the RenderDoc plugin, which is a graphics debugging tool integrated into Unreal Engine.
This setting variable is used by the RenderDocPlugin module, which is part of the developer tools in Unreal Engine 5. It’s primarily utilized in the RenderDocPluginModule.cpp file within the RenderDocPlugin source code.
The value of this variable is set through a console variable (CVar) system in Unreal Engine. It’s initialized with a default value of 0, but can be changed at runtime through console commands or configuration files.
The associated variable CVarRenderDocCaptureAllActivity directly interacts with renderdoc.CaptureAllActivity. They share the same value and purpose.
Developers must be aware that:
- When set to 0 (default), RenderDoc will only capture data from the current viewport.
- When set to 1, RenderDoc will capture all activity across all viewports and editor windows for the entire frame.
Best practices when using this variable include:
- Use the default value (0) for focused debugging of specific viewports to minimize performance impact and capture size.
- Set to 1 when a comprehensive capture of all rendering activity is needed, but be aware of potential performance implications and larger capture sizes.
- Consider the interaction with CVarRenderDocCaptureFrameCount, as capturing multiple frames automatically enables capturing all activity.
Regarding the associated variable CVarRenderDocCaptureAllActivity:
- It’s an internal representation of the renderdoc.CaptureAllActivity console variable.
- It’s used in the ShouldCaptureAllActivity() function to determine the capture scope.
- The function also considers CVarRenderDocCaptureFrameCount, indicating that capturing multiple frames implicitly enables capturing all activity.
Developers should use the console variable renderdoc.CaptureAllActivity to control this setting, rather than directly manipulating CVarRenderDocCaptureAllActivity in code. This ensures consistency and allows for runtime configuration changes.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Developer/RenderDocPlugin/Source/RenderDocPlugin/Private/RenderDocPluginModule.cpp:35
Scope: file
Source code excerpt:
static TAutoConsoleVariable<int32> CVarRenderDocCaptureAllActivity(
TEXT("renderdoc.CaptureAllActivity"),
0,
TEXT("0 - RenderDoc will only capture data from the current viewport. ")
TEXT("1 - RenderDoc will capture all activity, in all viewports and editor windows for the entire frame."));
static TAutoConsoleVariable<int32> CVarRenderDocCaptureCallstacks(
TEXT("renderdoc.CaptureCallstacks"),
1,
#Associated Variable and Callsites
This variable is associated with another variable named CVarRenderDocCaptureAllActivity
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Developer/RenderDocPlugin/Source/RenderDocPlugin/Private/RenderDocPluginModule.cpp:34
Scope: file
Source code excerpt:
#define LOCTEXT_NAMESPACE "RenderDocPlugin"
static TAutoConsoleVariable<int32> CVarRenderDocCaptureAllActivity(
TEXT("renderdoc.CaptureAllActivity"),
0,
TEXT("0 - RenderDoc will only capture data from the current viewport. ")
TEXT("1 - RenderDoc will capture all activity, in all viewports and editor windows for the entire frame."));
static TAutoConsoleVariable<int32> CVarRenderDocCaptureCallstacks(
TEXT("renderdoc.CaptureCallstacks"),
#Loc: <Workspace>/Engine/Plugins/Developer/RenderDocPlugin/Source/RenderDocPlugin/Private/RenderDocPluginModule.cpp:360
Scope (from outer to inner):
file
function bool FRenderDocPluginModule::ShouldCaptureAllActivity
Source code excerpt:
{
// capturing more than 1 frame means that we can't just capture the current viewport :
return CVarRenderDocCaptureAllActivity.GetValueOnAnyThread() || (CVarRenderDocCaptureFrameCount.GetValueOnAnyThread() > 1);
}
void FRenderDocPluginModule::ShowNotification(const FText& Message, bool bForceNewNotification)
{
#if WITH_EDITOR
FRenderDocPluginNotification::Get().ShowNotification(Message, bForceNewNotification);