概要
Unreal Engine 4.24.2(正確には4.23 〜 4.24のバージョン)をUbuntu 18.04で動かすと定期的にどこかのCPU使用率が100%になってUIスレッドが固まり、10秒ほどフリーズします。とても不愉快なので検索したらそれらしい回避方法が見つかったので共有します。
参照元 : https://answers.unrealengine.com/questions/936174/view.html
環境
- Unreal Engine 4.24.2
- Ubuntu 18.04 LTS
- GNOME 3
方法
UnrealEngineのソースコードのルートを基準としてEngine/Config/BaseEngine.ini
の以下の箇所を変更する。
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
; When neither -vulkan nor -opengl4 are passed on the commandline, the engine will default to the first targeted RHI.
; ここをコメントアウトする。(;)でコメントアウト可能
; +TargetRHIs=SF_VULKAN_SM5
; OpenGL4 is deprecated, you can comment this back in to add it to your targeted RHI list
; ここのコメントアウトを消して有効化する
+TargetedRHIs=GLSL_430
この状態で再ビルドします。(iniの変更なので再ビルドしなくてもいいかもしれませんが、試してはいないです)
何やらGLSL_430はDeprecatedだからVulkan使えみたいな警告ウィンドウが出てきますが、無視しましょう。
所感
UE4はメインのレンダリングエンジンにVulkanを使う変更が最近入ったみたいで、できればそっちを使ってほしいみたいですが問題が修正されるのがはっきり確認できるまではこのやり方でいいと思います。安易にプロジェクトのバージョンを上げると戻せないので一旦コピーするとかbranchを切って確かめる等のバックアップを取りつつ最新版に合わせていきましょう。