ブループリントでは非同期処理こそ扱えるものの、マルチスレッドな処理を通常扱うことはできません。マルチスレッドな処理は扱いが非常に難しく、バグが発生すると手が付けられないほどに問題が複雑するからだと思います。
しかしブループリントではどうしても処理が重くなってしまい、負荷をバックグラウンドに逃がしたいというケースは少なからずあります。エンジン標準機能にマルチスレッドの呼び出しは用意されておりませんが、マーケットプレイスには多彩なブループリント用マルチスレッドプラグインがありますので、今回は一通りを触ってみて、どのように使えるかを比較検証してみました。
今回検証したプラグインは以下の4つとなります。
Actions Extension:Piperift:Code Plugins - UE4 マーケットプレイス
BPThreads:Mashmashu Studio:Code Plugins - UE4 マーケットプレイス
Call Function Async:Alexandr Vasilyev:Code Plugins - UE4 マーケットプレイス
Multi Task Pro:Yaki Studios:Code Plugins - UE4 マーケットプレイス
Actions Extensionのみ無料で、残りは有料となります。Multi Task Proのみ、無料版があり、こちらは非同期処理のみで、機能はMulti Task Proの機能制限版となるので比較には入れていません。試してみたいという方は以下からどうぞ。
Multi Task:Yaki Studios:Code Plugins - UE4 マーケットプレイス
ちなみに今回検証したプラグインは全て最新版のUE4.25.2まで対応しています。最新バージョンでもしっかりと動作することを確認済みです。
それでは早速比較した結果を見ていきましょう。
続きを読む