21
Steam、マルチスレッドゲームの改善に向けてLinuxカーネルの変更を提案

SteamのCPUテスト。出典:Steam

Steam の CPU テスト。(画像提供: Steam)

Steamは今週、Proton 4.11の最初のビルドをリリースしたと発表しました。これは、数千ものWindowsゲームをLinux上で実行できるようにするLinuxユーティリティであるWINE 4.11をベースにしています。新バージョンには、多数のバグ修正に加え、VulkanベースのDirect3D 9の実装が含まれています。さらに、Linuxカーネル開発者がSteamが提案するカーネル変更を採用した場合、マルチスレッドゲームのCPUオーバーヘッドを削減できる機能も含まれています。

Steam開発者によると、Protonの既存バージョンとマルチスレッド化の改善を加えたバージョンの違いを確認するため、「グラフィックの詳細を最小限に抑えることで、ハイエンドマシンでCPUバウンドのシナリオを強制的に実行した」とのことです。上の画像では、Tomb RaiderのゲームでCPU負荷が少なくとも10%減少していることがわかります。開発者は、ローエンドマシンでも同様の結果が得られると予想しています。

新リリースには、一部のゲームのマルチスレッドパフォーマンスを向上させる可能性のある、WINEの旧機能であるesyncの実験的な代替機能も含まれています。しかし、Steam開発者によると、この機能にはLinuxカーネルのeventfd()機能への依存など、いくつかの大きなトレードオフが伴います。eventfd()の使用は、イベントを大量に消費するアプリケーションでファイルディスクリプタの枯渇を引き起こし、カーネル内で不要なスピンを引き起こす可能性があります。 

その後、Steam チームは Linux カーネルにいくつかの変更を加えて futex() システム コールを拡張し、最適なスレッド プールの同期をサポートするために使用できる追加のコア機能を公開しました。 

Proton 4.11には、Linuxカーネルの変更後に古いesyncを置き換え、新しい機能を利用するためのfsync()パッチが既に含まれています。その間、Steamチームは、上記のパッチを含むカスタムカーネルを搭載したUbuntuおよびArch Linuxディストリビューションで、このソリューションのテストを継続します。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。