FRenderTargetPool

Encapsulates the render targets pools that allows easy sharing (mostly used on the render thread side)

Windows
MacOS
Linux

Inheritance Hierarchy

FRenderResource

FRenderTargetPool

References

Module

RenderCore

Header

/Engine/Source/Runtime/RenderCore/Public/RenderTargetPool.h

Include

#include "RenderTargetPool.h"

Syntax

class FRenderTargetPool : public FRenderResource

Remarks

Encapsulates the render targets pools that allows easy sharing (mostly used on the render thread side)

Constructors

Name Description

Public function

FRenderTargetPool()

Functions

Name Description

Public function

void

 

AddPhaseEvent

(
    const TCHAR* InPhaseName
)

Public function

void

 

CreateUntrackedElement

(
    const FPooledRenderTargetDesc& Des...,
    TRefCountPtr< IPooledRenderTarget >...,
    const FSceneRenderTargetItem& Item
)

Public function

void

 

DestructSnapshots()

Destruct all snapshots, this must be done after all outstanding async tasks are done.

Public function

void

 

DisableEventDisplay()

Public function

void

 

DumpMemoryUsage

(
    FOutputDevice& OutputDevice
)

Logs out usage information.

Public function

bool

 

FindFreeElement

(
    FRHICommandList& RHICmdList,
    const FPooledRenderTargetDesc& Des...,
    TRefCountPtr< IPooledRenderTarget >...,
    const TCHAR* InDebugName,
    bool bDoWritableBarrier,
    ERenderTargetTransience TransienceH...,
    bool bDeferTextureAllocation
)

Public function Const

int32

 

FindIndex

(
    IPooledRenderTarget* In
)

Public function

void

 

FreeUnusedResource

Allows to remove a resource so it cannot be shared and gets released immediately instead a/some frame[s] later.

Public function

void

 

FreeUnusedResources()

Good to call between levels or before memory intense operations.

Public function Const

FPooledRende...

 

GetElementById

(
    uint32 Id
)

For debugging purpose, assumes you call FlushRenderingCommands() be

Public function Const

uint32

 

GetElementCount()

Public function Const

void

 

GetStats

(
    uint32& OutWholeCount,
    uint32& OutWholePoolInKB,
    uint32& OutUsedInKB
)

Only to get statistics on usage and free elements.

Public function Const

bool

 

IsEventRecordingEnabled()

Public function

IPooledRende...

 

MakeSnapshot

(
    const TRefCountPtr< IPooledRenderTa...
)

Destruct all snapshots, this must be done after all outstanding async tasks are done.

Public function

void

 

OnRenderTargetUnreferenced

(
    IPooledRenderTarget* RenderTar...
)

Public function

void

 

SetEventRecordingActive

(
    bool bValue
)

To not have event recording for some time during rendering (e.g. thumbnail rendering)

Public function

void

 

SetObserveTarget

(
    const FString& InObservedDebugName,
    uint32 InObservedDebugNameReusedGoa...
)

Public function

void

 

TickPoolElements()

Can release RT, should be called once per frame. call from RenderThread only

Public function

void

 

TransitionTargetsWritable

(
    FRHICommandListImmediate& RHICmdLi...
)

Transitions all targets in the pool to writable.

Public function

void

 

UpdateElementSize

(
    const TRefCountPtr< IPooledRenderTa...,
    const uint32 OldSize
)

Overridden from FRenderResource

Name Description

Public function Virtual

void

 

ReleaseDynamicRHI()

Free renderer resources

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback