![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include "Slate/SRetainerWidget.h"#include "Misc/App.h"#include "UObject/Package.h"#include "Framework/Application/SlateApplication.h"#include "Materials/MaterialInstanceDynamic.h"#include "RenderDeferredCleanup.h"#include "RHI.h"#include "Engine/TextureRenderTarget2D.h"#include "Engine/World.h"#include "UMGPrivate.h"#include "Widgets/SNullWidget.h"Classes | |
| class | FRetainerWidgetRenderingResources |
Macros | |
| #define | PLATFORM_REQUIRES_DEFERRED_RETAINER_UPDATE PLATFORM_IOS || PLATFORM_ANDROID; |
Functions | |
| DECLARE_CYCLE_STAT (TEXT("Retainer Widget Tick"), STAT_SlateRetainerWidgetTick, STATGROUP_Slate) | |
| DECLARE_CYCLE_STAT (TEXT("Retainer Widget Paint"), STAT_SlateRetainerWidgetPaint, STATGROUP_Slate) | |
| FAutoConsoleVariableRef | EnableDesignerRetainedRendering (TEXT("Slate.EnableDesignerRetainedRendering"), GEnableDesignerRetainedRendering, TEXT("Controls if retainer renders in designer; 0 - Never; 1 - Per Widget Properties"), FConsoleVariableDelegate::CreateStatic(&HandleDesignerRetainedRenderingToggled)) |
Variables | |
| bool | GEnableDesignerRetainedRendering = true |
| int32 | GEnableRetainedRendering = 1 |
| FAutoConsoleVariableRef | EnableRetainedRendering (TEXT("Slate.EnableRetainedRendering"), GEnableRetainedRendering,) |
| bool | GSlateEnableRenderWithLocalTransform = true |
| FAutoConsoleVariableRef | CVarGlateEnableRenderWithLocalTransform (TEXT("Slate.EnableRetainedRenderingWithLocalTransform"), GSlateEnableRenderWithLocalTransform,) |
| int32 | GDeferRetainedRenderingRenderThread = PLATFORM_REQUIRES_DEFERRED_RETAINER_UPDATE |
| FAutoConsoleVariableRef | DeferRetainedRenderingRT (TEXT("Slate.DeferRetainedRenderingRenderThread"), GDeferRetainedRenderingRenderThread, TEXT("Whether or not to defer retained rendering to happen at the same time as the rest of slate render thread work")) |
| #define PLATFORM_REQUIRES_DEFERRED_RETAINER_UPDATE PLATFORM_IOS || PLATFORM_ANDROID; |
Whether or not the platform should have deferred retainer widget render target updating enabled by default
| DECLARE_CYCLE_STAT | ( | TEXT("Retainer Widget Paint") | , |
| STAT_SlateRetainerWidgetPaint | , | ||
| STATGROUP_Slate | |||
| ) |
| DECLARE_CYCLE_STAT | ( | TEXT("Retainer Widget Tick") | , |
| STAT_SlateRetainerWidgetTick | , | ||
| STATGROUP_Slate | |||
| ) |
| FAutoConsoleVariableRef EnableDesignerRetainedRendering | ( | TEXT("Slate.EnableDesignerRetainedRendering") | , |
| GEnableDesignerRetainedRendering | , | ||
| TEXT("Controls if retainer renders in designer; 0 - Never; 1 - Per Widget Properties") | , | ||
| FConsoleVariableDelegate::CreateStatic & | HandleDesignerRetainedRenderingToggled | ||
| ) |
| FAutoConsoleVariableRef CVarGlateEnableRenderWithLocalTransform(TEXT("Slate.EnableRetainedRenderingWithLocalTransform"), GSlateEnableRenderWithLocalTransform,) | ( | TEXT("Slate.EnableRetainedRenderingWithLocalTransform") | , |
| GSlateEnableRenderWithLocalTransform | |||
| ) |
| FAutoConsoleVariableRef DeferRetainedRenderingRT(TEXT("Slate.DeferRetainedRenderingRenderThread"), GDeferRetainedRenderingRenderThread, TEXT("Whether or not to defer retained rendering to happen at the same time as the rest of slate render thread work")) | ( | TEXT("Slate.DeferRetainedRenderingRenderThread") | , |
| GDeferRetainedRenderingRenderThread | , | ||
| TEXT("Whether or not to defer retained rendering to happen at the same time as the rest of slate render thread work") | |||
| ) |
| FAutoConsoleVariableRef EnableRetainedRendering(TEXT("Slate.EnableRetainedRendering"), GEnableRetainedRendering,) | ( | TEXT("Slate.EnableRetainedRendering") | , |
| GEnableRetainedRendering | |||
| ) |
| int32 GDeferRetainedRenderingRenderThread = PLATFORM_REQUIRES_DEFERRED_RETAINER_UPDATE |
If this is true the retained rendering render thread work will happen during normal slate render thread rendering after the back buffer has been presented in order to avoid extra render target switching in the middle of the frame. The downside is that the UI update will be a frame late