au.MetaSound.ProfileAllGraphs
au.MetaSound.ProfileAllGraphs
#Overview
name: au.MetaSound.ProfileAllGraphs
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Enable profiling of all MetaSound graphs. NOTE: If the node filter is set it will still apply (see au.Metasound.AddProfileNode)\n0: Disabled (default), !0: Enabled
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of au.MetaSound.ProfileAllGraphs is to enable or disable profiling for all MetaSound graphs in Unreal Engine 5. This setting variable is primarily used for performance monitoring and optimization of the MetaSound system.
The Unreal Engine subsystems that rely on this setting variable are primarily the MetaSound plugin and the HarmonixDsp plugin. These are part of the audio and sound processing modules in Unreal Engine 5.
The value of this variable is set through the console variable system in Unreal Engine. It can be changed at runtime using console commands or through configuration files.
The associated variable ProfileAllEnabled directly interacts with au.MetaSound.ProfileAllGraphs. They share the same value, with ProfileAllEnabled being the actual integer variable that stores the state (0 for disabled, non-zero for enabled).
Developers must be aware of the following when using this variable:
- Enabling this variable will profile all MetaSound graphs, which may impact performance.
- Even when enabled, the node filter (set by au.Metasound.AddProfileNode) still applies.
- This setting is primarily intended for debugging and optimization purposes.
Best practices when using this variable include:
- Only enable it when necessary for performance analysis or debugging.
- Be mindful of the performance impact when enabled, especially in production environments.
- Use in conjunction with the node filter for more targeted profiling when possible.
Regarding the associated variable ProfileAllEnabled:
- It is an integer variable that directly represents the state of au.MetaSound.ProfileAllGraphs.
- It is used internally by the MetaSound system to determine whether profiling should be applied to all graphs.
- The ProfileAllGraphs() function in the Metasound::Profiling namespace uses this variable to return a boolean value indicating whether profiling is enabled for all graphs.
- Developers should generally interact with au.MetaSound.ProfileAllGraphs rather than ProfileAllEnabled directly, as the former is exposed as a console variable for easier manipulation.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Private/MetasoundProfilingOperator.cpp:13
Scope (from outer to inner):
file
namespace Metasound
namespace Profiling
Source code excerpt:
int32 ProfileAllEnabled = 0;
FAutoConsoleVariableRef CVarMetaSoundProfileAllEnabled(
TEXT("au.MetaSound.ProfileAllGraphs"),
ProfileAllEnabled,
TEXT("Enable profiling of all MetaSound graphs. NOTE: If the node filter is set it will still apply (see au.Metasound.AddProfileNode)\n")
TEXT("0: Disabled (default), !0: Enabled"),
ECVF_Default);
TArray<FString> ProfilingNodeFilter;
#Loc: <Workspace>/Engine/Plugins/Runtime/Harmonix/Source/HarmonixDsp/Private/HarmonixDsp/FusionSampler/FusionVoice.cpp:76
Scope (from outer to inner):
file
function bool FFusionVoice::AssignIDs
Source code excerpt:
#if CPUPROFILERTRACE_ENABLED
const IConsoleVariable* ProfilingAllGraphsCheat = IConsoleManager::Get().FindConsoleVariable(TEXT("au.MetaSound.ProfileAllGraphs"));
bProfiling = (ProfilingAllGraphsCheat && ProfilingAllGraphsCheat->GetBool());
if (bProfiling)
{
ProfileString = FString::Printf(TEXT("FusionVoice::Process Stretch: %s"), Shifter ? *Shifter->GetFactoryName().ToString() : TEXT("(none)"));
}
else
#Associated Variable and Callsites
This variable is associated with another variable named ProfileAllEnabled
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Private/MetasoundProfilingOperator.cpp:11
Scope (from outer to inner):
file
namespace Metasound
namespace Profiling
Source code excerpt:
namespace Profiling
{
int32 ProfileAllEnabled = 0;
FAutoConsoleVariableRef CVarMetaSoundProfileAllEnabled(
TEXT("au.MetaSound.ProfileAllGraphs"),
ProfileAllEnabled,
TEXT("Enable profiling of all MetaSound graphs. NOTE: If the node filter is set it will still apply (see au.Metasound.AddProfileNode)\n")
TEXT("0: Disabled (default), !0: Enabled"),
ECVF_Default);
TArray<FString> ProfilingNodeFilter;
#Loc: <Workspace>/Engine/Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Private/MetasoundProfilingOperator.cpp:77
Scope (from outer to inner):
file
namespace Metasound
namespace Profiling
function bool ProfileAllGraphs
Source code excerpt:
bool ProfileAllGraphs()
{
return ProfileAllEnabled != 0;
}
}
void FProfilingOperator::StaticReset(IOperator* InOperator, const IOperator::FResetParams& InParams)