ゲーマーよりもミリ秒単位の遅延を気にする人がいるとすれば、それは開発者です。彼らは、1ミリ秒の違いがゲームのプレイに大きな違いをもたらすことを熟知しています。これはGoogle Stadiaにとって悪いニュースです。開発者は最近、Linuxカーネルスケジューラの問題が、このプラットフォームに移植されたゲームに問題を引き起こす可能性があると主張しました。
マルテ・スカルプケという開発者が月曜日にこの問題を公表しました。スカルプケ氏はブログ記事で、この問題に気づいた経緯と、その解決に向けた取り組みについて説明しています(記事の発見に尽力してくれたPhoronixに感謝します)。
以下は、Skarupke 氏が問題についてより技術的な詳細を示す前に提供した概要です。
職場で、『Rage 2』をStadiaに移植中に、謎のストールについて誰かが不満を漏らしているのを耳にしました。それらの謎のストールに共通していたのは、すべてスピンロックを使っていたことです。たまたま私が使用していたスピンロックを書いた人間だったので、その点が気になりました。問題は、他のスレッドがスピンロックを保持していないにもかかわらず、あるスレッドがスピンロックの取得に数ミリ秒も費やしていたことです。繰り返しますが、スピンロックは自由に取得できるにもかかわらず、あるスレッドがそれを取得するのに数ミリ秒もかかっていました。16ミリ秒または33ミリ秒(60Hzか30Hzかによって異なります)ごとに画面に画像を表示する必要があるビデオゲームでは、1ミリ秒以上かかるストールは深刻な問題です。特に、文字通りすべてのスレッドがストールしている場合はなおさらです。
スカルプケ氏は、この問題を数ヶ月かけて調査した結果、「ミューテックスの実装のほとんどは非常に優れているが、スピンロックの実装のほとんどはかなり劣っており、Linuxスケジューラは問題ないが理想には程遠い」という結論に至ったと述べた。最終的に同氏は、スピンロックからミューテックスへの一時的な解決策を適用することを決めた。
詳細はSkarupke氏のブログ記事をご覧ください。ゲームプレイ中に数ミリ秒の遅延がどれほど大きな違いをもたらすのか、特にStadiaのようなストリーミングプラットフォーム上ではどれほどの違いがあるのか、そして開発者がどのようにそれらの問題を解決しようとしているのかを知りたい方は、ぜひ一読してみてください。今後、この問題が解消されることを願っています。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。