ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER
生活随笔
收集整理的這篇文章主要介紹了
ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
該宏非常重要, 其作用是: 創建一個渲染命令任務,并將該任務壓入渲染隊列,待渲染線程執行. 主要用于多線程渲染!
????#define ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER(TypeName,ParamType1,ParamName1,ParamValue1,Code)class EURCMacro_TypeName : public FRenderCommand{public:EURCMacro_TypeName(TCallTraits<ParamType1>::ParamType InParamName1):ParamName1(InParamName1){}void DoTask(ENamedThreads::Type CurrentThread, const FGraphEventRef& MyCompletionGraphEvent){FRHICommandListImmediate& RHICmdList = GetImmediateCommandList_ForRenderCommand();Code;}FORCEINLINE TStatId GetStatId() const{RETURN_QUICK_DECLARE_CYCLE_STAT(TypeName, STATGROUP_RenderThreadCommands);}private:ParamType1 ParamName1;};{LogRenderCommand(TypeName);if(ShouldExecuteOnRenderThread()){CheckNotBlockedOnRenderThread();TGraphTask<EURCMacro_TypeName>::CreateTask().ConstructAndDispatchWhenReady(ParamValue1);}else{EURCMacro_TypeName TempCommand(ParamValue1);FScopeCycleCounter EURCMacro_Scope(TempCommand.GetStatId());TempCommand.DoTask(ENamedThreads::GameThread, FGraphEventRef() );}}總結
以上是生活随笔為你收集整理的ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打击网络黑公关乱象 比亚迪加码:举报最高
- 下一篇: UE 光影参数