ImgMedia.ICVFX.InnerOnlyTiles
ImgMedia.ICVFX.InnerOnlyTiles
#Overview
name: ImgMedia.ICVFX.InnerOnlyTiles
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
This CVar will ignore tile calculation for all viewports except for Display Cluster inner viewports. User should enable upscaling on Media plate to display lower quality mips instead, otherwise other viewports will only display tiles loaded specifically for inner viewport and nothing else. \n
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ImgMedia.ICVFX.InnerOnlyTiles is to control tile processing for viewports in the context of In-Camera Visual Effects (ICVFX) workflows within the ImgMedia plugin of Unreal Engine 5.
This setting variable is primarily used by the ImgMedia plugin, which is part of Unreal Engine’s media framework. Specifically, it affects the ImgMediaSceneViewExtension, which is responsible for handling image media rendering in different viewports.
The value of this variable is set through a console variable (CVar) system. It’s defined as a boolean value, defaulting to false. Developers can change this value at runtime using console commands or through project settings.
The associated variable CVarImgMediaProcessTilesInnerOnly directly interacts with ImgMedia.ICVFX.InnerOnlyTiles. They share the same value and purpose.
When using this variable, developers must be aware that enabling it (setting it to true) will ignore tile calculation for all viewports except for Display Cluster inner viewports. This can significantly impact rendering performance and quality in non-inner viewports.
Best practices when using this variable include:
- Only enable it when specifically working with ICVFX setups that require prioritizing inner viewport rendering.
- When enabled, ensure that upscaling is enabled on Media plates to display lower quality mips for other viewports.
- Be aware that other viewports will only display tiles loaded specifically for the inner viewport when this setting is enabled.
- Use this setting in conjunction with other ICVFX-related settings for optimal performance and quality.
- Test thoroughly in both enabled and disabled states to understand the impact on your specific project.
Regarding the associated variable CVarImgMediaProcessTilesInnerOnly:
Its purpose is identical to ImgMedia.ICVFX.InnerOnlyTiles, serving as the actual C++ variable that controls the behavior described above. It’s used within the ImgMediaSceneViewExtension to determine whether to process tiles for a given viewport based on its name and the current setting value.
The value of CVarImgMediaProcessTilesInnerOnly is set and accessed using Unreal Engine’s console variable system, allowing for runtime changes and integration with the engine’s configuration systems.
When working with CVarImgMediaProcessTilesInnerOnly, developers should follow the same best practices and be aware of the same considerations as mentioned for ImgMedia.ICVFX.InnerOnlyTiles. Additionally, they should be mindful of potential performance implications when frequently querying this value, especially in performance-critical code paths.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/Media/ImgMedia/Source/ImgMedia/Private/ImgMediaSceneViewExtension.cpp:15
Scope: file
Source code excerpt:
static TAutoConsoleVariable<bool> CVarImgMediaProcessTilesInnerOnly(
TEXT("ImgMedia.ICVFX.InnerOnlyTiles"),
false,
TEXT("This CVar will ignore tile calculation for all viewports except for Display Cluster inner viewports. User should enable upscaling on Media plate to display lower quality mips instead, otherwise ")
TEXT("other viewports will only display tiles loaded specifically for inner viewport and nothing else. \n"),
#if WITH_EDITOR
FConsoleVariableDelegate::CreateLambda([](IConsoleVariable* CVar)
{
#Associated Variable and Callsites
This variable is associated with another variable named CVarImgMediaProcessTilesInnerOnly
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/Media/ImgMedia/Source/ImgMedia/Private/ImgMediaSceneViewExtension.cpp:14
Scope: file
Source code excerpt:
ECVF_Default);
static TAutoConsoleVariable<bool> CVarImgMediaProcessTilesInnerOnly(
TEXT("ImgMedia.ICVFX.InnerOnlyTiles"),
false,
TEXT("This CVar will ignore tile calculation for all viewports except for Display Cluster inner viewports. User should enable upscaling on Media plate to display lower quality mips instead, otherwise ")
TEXT("other viewports will only display tiles loaded specifically for inner viewport and nothing else. \n"),
#if WITH_EDITOR
FConsoleVariableDelegate::CreateLambda([](IConsoleVariable* CVar)
#Loc: <Workspace>/Engine/Plugins/Media/ImgMedia/Source/ImgMedia/Private/ImgMediaSceneViewExtension.cpp:68
Scope (from outer to inner):
file
function void FImgMediaSceneViewExtension::CacheViewInfo
Source code excerpt:
{
// This relies on DisplayClusterMediaHelpers::GenerateICVFXViewportName to have two strings embedded.
if (CVarImgMediaProcessTilesInnerOnly.GetValueOnGameThread()
&& !(InViewFamily.ProfileDescription.Contains("_icvfx_") && InViewFamily.ProfileDescription.Contains("_incamera")))
{
return;
}
static const auto CVarMinAutomaticViewMipBiasOffset = IConsoleManager::Get().FindTConsoleVariableDataFloat(TEXT("r.ViewTextureMipBias.Offset"));
static const auto CVarMinAutomaticViewMipBias = IConsoleManager::Get().FindTConsoleVariableDataFloat(TEXT("r.ViewTextureMipBias.Min"));