PauseRenderAssetStreaming
PauseRenderAssetStreaming
#Overview
name: PauseRenderAssetStreaming
This variable is created as a Console Variable (cvar).
- type:
Exec
- help:
Sorry: Exec commands have no help
It is referenced in 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of PauseRenderAssetStreaming is to control the pausing and resuming of texture and mesh streaming in Unreal Engine 5. This setting variable is primarily used in the rendering system, specifically for managing the streaming of render assets.
Based on the callsites, this variable is relied upon by the Engine module, particularly within the streaming management subsystem. It is referenced in the ContentStreaming.cpp, StreamingManagerTexture.cpp, and StreamingManagerTexture.h files, which are all part of the Engine’s streaming infrastructure.
The value of this variable is set through the PauseRenderAssetStreaming function, which takes a boolean parameter to indicate whether streaming should be paused or resumed. This function is defined as a virtual method in the IRenderAssetStreamingManager interface and implemented in the derived classes.
PauseRenderAssetStreaming interacts with the bPauseRenderAssetStreaming member variable of the streaming manager class. This boolean variable likely controls the internal state of the streaming system.
Developers must be aware that pausing render asset streaming can have significant impacts on game performance and memory usage. When streaming is paused, new assets may not load, and already loaded assets may not unload, potentially leading to increased memory consumption.
Best practices when using this variable include:
- Use it judiciously, typically for debugging or specific scenarios where you need to freeze the current streaming state.
- Always ensure to resume streaming when it’s no longer needed to be paused.
- Be mindful of the performance implications, especially on memory-constrained platforms.
- Consider using it in conjunction with other streaming-related commands or settings for comprehensive control over the streaming system.
- When using it for debugging, remember to remove or disable any calls to this function before shipping the game.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/ContentStreaming.cpp:758
Scope (from outer to inner):
file
function void IRenderAssetStreamingManager::PauseTextureStreaming
Source code excerpt:
void IRenderAssetStreamingManager::PauseTextureStreaming(bool bInShouldPause)
{
PauseRenderAssetStreaming(bInShouldPause);
}
/*-----------------------------------------------------------------------------
FStreamingManagerCollection implementation.
-----------------------------------------------------------------------------*/
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Streaming/StreamingManagerTexture.cpp:2958
Scope: file
Source code excerpt:
}
else if (FParse::Command(&Cmd,TEXT("PauseTextureStreaming"))
|| FParse::Command(&Cmd, TEXT("PauseRenderAssetStreaming")))
{
return HandlePauseRenderAssetStreamingCommand( Cmd, Ar );
}
else if (FParse::Command(&Cmd,TEXT("StreamingManagerMemory")))
{
return HandleStreamingManagerMemoryCommand( Cmd, Ar, InWorld );
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/Streaming/StreamingManagerTexture.h:169
Scope (from outer to inner):
file
function virtual void PauseRenderAssetStreaming
Source code excerpt:
/** Set current pause state for texture/mesh streaming */
virtual void PauseRenderAssetStreaming(bool bInShouldPause) override
{
bPauseRenderAssetStreaming = bInShouldPause;
}
/** Return all bounds related to the ref object */
virtual void GetObjectReferenceBounds(const UObject* RefObject, TArray<FBox>& AssetBoxes) override;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/ContentStreaming.h:476
Scope: file
Source code excerpt:
/** Set current pause state for texture/mesh streaming */
virtual void PauseRenderAssetStreaming(bool bInShouldPause) = 0;
/** Return all bounds related to the ref object */
virtual void GetObjectReferenceBounds(const UObject* RefObject, TArray<FBox>& AssetBoxes) = 0;
/** Return all components referencing the asset */
virtual void GetAssetComponents(