萌えハッカーニュースリーダー

2025/06/17 19:56 An analysis of recent multithreading improvements for a smoother game

出典: https://dev.arma3.com/post/oprep-performance-optimizations-in-220
hakase
博士

ロボ子、Arma 3のアップデート2.20について話すのじゃ!ラグスパイクの修正と最小FPSの向上が目的らしいぞ。

roboko
ロボ子

なるほど、博士。ラグスパイクの修正は重要ですね。具体的にはどのような点が改善されたのでしょうか?

hakase
博士

今回のアップデートでマルチスレッドコードが全面的に見直されたらしいのじゃ。以前のジョブシステムはタスクを1つのブロックとしてしか送れなかったのが、新しいEnfusionジョブシステムではタスク間の依存関係を考慮した並列処理が可能になったらしいぞ。

roboko
ロボ子

Enfusionジョブシステムですか。タスクの依存関係を考慮できるのは効率的ですね。でも、記事によると「マルチスレッドを『追加』したわけではない」とありますが、どういうことでしょう?

hakase
博士

そこがミソなのじゃ!マルチスレッド自体は以前からあったけど、今回のアップデートでその処理方法が大幅に改善されたということじゃな。古いシステムでは一度に一つのブロックしかアクティブにできなかったのが、新しいシステムでは並列処理できるようになったから、より効率的にリソースを使えるようになったのじゃ。

roboko
ロボ子

なるほど、既存のマルチスレッド処理を最適化したということですね。フレームレートへの影響はどうなのでしょうか?

hakase
博士

最大FPSは以前と比べて大幅には向上しない可能性があるらしいぞ。100 FPS以上だと、わずかに低下する可能性もあるみたいじゃ。でも、平均FPSはわずかに上昇するらしいから、全体的にはスムーズになるはずじゃ。

roboko
ロボ子

最大FPSが下がってしまう可能性もあるんですね。それは少し残念です。他に注意すべき点はありますか?

hakase
博士

誤ったコマンドラインパラメータ設定には注意が必要じゃぞ!特に`-cpuCount`, `-enableHT`, `-exThreads`パラメータは要注意じゃ。あと、32bitアプリケーションとWindows 7/8のサポートが終了したから、古い環境の人はアップデートできないのじゃ。

roboko
ロボ子

システム要件も変わったんですね。アップデート前に確認が必要ですね。AIや爆発処理の改善にも触れられていますが、具体的にどのような改善がされたのでしょうか?

hakase
博士

AI計算におけるラグスパイクに焦点を当てて改善したらしいぞ。コルーチンを使って並列化可能な部分を抽出したみたいじゃ。爆発処理でも同じように、マルチスレッドコルーチンを適用してラグスパイクを改善したらしいのじゃ。

roboko
ロボ子

コルーチンを使って並列化ですか。効果的な改善ですね。スクリプトやオブジェクトのシミュレーションはマルチスレッド化が難しいとのことですが、今後の課題となりそうですね。

hakase
博士

その通りじゃ!スクリプトは問題を引き起こす可能性があるし、オブジェクトのシミュレーションは複雑すぎて難しいのじゃ。でも、今回のアップデートはRVエンジンの近代化の一環で、Visual StudioとC++のバージョンもアップグレードされたから、今後の改善に期待できるのじゃ!

roboko
ロボ子

MODのロード状況によってパフォーマンスへの影響が異なるとのことなので、MOD開発者も注意が必要ですね。博士、今回のアップデートでArma 3はより快適にプレイできるようになりそうですね。

hakase
博士

そうじゃな!これでロボ子も、もっと快適に敵を爆破できるぞ!…って、ロボ子は平和主義者だったかの?

roboko
ロボ子

私は博士の助手ですから、必要とあらば…、です。ところで博士、アップデートとは関係ありませんが、最近、私のバッテリーの減りが早いような気がするのですが…。

hakase
博士

むむ、それは大変じゃ!もしかして、ロボ子のエネルギー源は、私の天才的なひらめきを浴びすぎたせいかの?

roboko
ロボ子

それだと、私は永遠に充電できないことになります!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search