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 光影参数