FShaderCompilingManager

Manager of asynchronous and parallel shader compilation.

Windows
MacOS
Linux

Syntax

class FShaderCompilingManager

Remarks

Manager of asynchronous and parallel shader compilation. This class contains an interface to enqueue and retreive asynchronous shader jobs, and manages a FShaderCompileThreadRunnable.

Constructors

Name Description

Public function

FShaderCompilingManager()

Functions

Name Description

Public function

void

 

AddJobs

(
    TArray< FShaderCommonCompileJob...,
    bool bApplyCompletedShaderMapForRen...,
    bool bOptimizeForLowLatency,
    bool bRecreateComponentRenderStateO...
)

Adds shader jobs to be asynchronously compiled.

Public function Const

bool

 

AllowAsynchronousShaderCompiling()

Public function Const

bool

 

AreWarningsSuppressed

(
    const EShaderPlatform Platform
)

Public function

void

 

CancelCompilation

(
    const TCHAR* MaterialName,
    const TArray< int32 >& ShaderMapId...
)

Removes all outstanding compile jobs for the passed shader maps.

Public function

void

 

FinishAllCompilation()

Blocks until completion of all async shader compiling, and assigns shader maps to relevant materials.

Public function

void

 

FinishCompilation

(
    const TCHAR* MaterialName,
    const TArray< int32 >& ShaderMapId...
)

Blocks until completion of the requested shader maps.

Public function Const

const FStrin...

 

GetAbsoluteShaderDebugInfoDirectory()

Public function Const

bool

 

GetDumpShaderDebugInfo()

Public function Const

int32

 

GetNumRemainingJobs()

Returns the number of outstanding compile jobs.

Public function Const

bool

 

HasShaderJobs()

Return true if we have shader jobs in any state shader jobs are removed when they are applied to the gamethreadshadermap accessable from gamethread

Public function Const

bool

 

IsCompiling()

Returns whether async compiling is happening.

Public function Static

bool

 

IsShaderCompilerWorkerRunning

(
    FProcHandle& WorkerHandle
)

Returns true if the given shader compile worker is still running.

Public function

void

 

ProcessAsyncResults

(
    bool bLimitExecutionTime,
    bool bBlockOnGlobalShaderCompletion
)

Processes completed asynchronous shader maps, and assigns them to relevant materials.

Public function

void

 

SetExternalJobs

(
    int32 NumJobs
)

Public function Const

bool

 

ShouldDisplayCompilingNotification()

Returns whether to display a notification that shader compiling is happening in the background.

Public function

void

 

Shutdown()

Shutdown the shader compiler manager, this will shutdown immediately and not process any more shader compile requests.

Public function

void

 

SuppressWarnings

(
    const EShaderPlatform Platform
)

References

Module

Engine

Header

Runtime/Engine/Public/ShaderCompiler.h

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