UE4 渲染編譯(Shader Compile) 加速方法

前言

UE4的使用者們應該都曾有遇過等待大量的渲染編譯(Shader Compile)的困擾,這邊提供一個小技巧來提升渲染編譯的速度,那就是修改Windows工作管理員處理程序的「基本優先順序」。

方法

「基本優先順序」欄位預設是不顯示的,在工作管理員「詳細資料」頁籤裡,在上方欄位處點擊滑鼠右鍵可以透過「選取欄位」選項來新增顯示的欄位。


在UE4中負責處理渲染編譯的程序為ShaderCompileWorker.exe,但你沒有辦法直接在工作管理員裡透過修改優先順序的方式來改善渲染編譯速度,理由為UE4在處理每一個Shader時會重新運行ShaderCompileWorker.exe,並將優先順序預設設定為「在標準以下」,因此你可以觀察到ShaderCompileWorker.exe該程序PID(Process ID)一直不斷變換,且優先順序維持為在標準之下。

MSDN-SetPriorityClass

在不修改UE4原始碼的前提下,比較暴力的處理方式是寫一支程序不斷的去修改ShaderCompileWorker.exe的優先順序,可參考以下範例:

GitHub-AdrianJMartin/FixUnrealShaderPriority

或是可以直接購買UE4 Plugin-Compiler Booster

這個網誌中的熱門文章

Windows10 版本1607後可啟用支援長路徑檔名 (Maximum Path Length Limitation)

標準使用者如何執行需系統管理者權限的程式