Advanced Shader Delivery

PCゲームの「あの待ち時間」が消える。まずRadeonから

ゲーミングPC

PCゲームの「あの待ち時間」が消える。まずRadeonから

ゲームを買って、インストールして、さあ遊ぼう。そう思った瞬間に現れる「シェーダーをコンパイルしています」の進捗バー。PCゲーマーなら誰でも知っているあの待ち時間が、Radeonユーザーから先に消え始めた。 PCだけが抱えていた待ち時間 問題の根は、PCというプラットフォームの多様性そのものにある。コンソールならハードウェアが固定されているから、開発者がシェーダーを事前にコンパイルして出荷できる。PCではGPUもドライバも千差万別で、同じことができない。結果として、ゲームの初回起動時にユーザーのマシン上でシェーダーを一からコンパイルする必要が生じる。 数万本のシェーダーをCPUが処理する間、プレイヤーは画面を眺めて待つ。ゲーム側の実装によっては、コンパイルが追いつかない場面でカクつきが発生する。シェーダースタッターと呼ばれる現象だ。Unreal Engineが導入したPSOプリキャッシュなど部分的な緩和策はあるが、根本解決には至っていなかった。 MicrosoftのAdvanced Shader Delivery(ASD)は、このボトルネックを仕組みごと取り除く。ゲームのダウン

Forza Horizon 6が4秒で起動、AMD Radeonにシェーダー配信が来た

AMD

Forza Horizon 6が4秒で起動、AMD Radeonにシェーダー配信が来た

ゲームの初回起動で1分半待たされていた読み込みが、4秒で終わる。Microsoftのシェーダー先行配信技術が、ついに一般のAMD Radeonへ降りてきた。ただし、置いていかれたカードもある。 90秒が4秒になった、その中身 ゲームを起動して、進捗バーが少しずつ伸びるのを眺める時間。あれが何のための時間なのか、考えたことはあるだろうか。 多くの場合、待たされているのはシェーダーのコンパイルだ。シェーダーは画面の光や質感、物理挙動を計算する小さなプログラムで、PCのGPUとドライバの組み合わせごとに最適な形へ変換しなければ動かない。この変換を起動時にまとめてやると長い読み込み画面になり、プレイ中に少しずつやると、あの不快なカクつき(スタッター)になる。 Microsoftが進めている Advanced Shader Delivery(ASD)は、この変換を「配信時」に済ませてしまう発想だ。ゲームをダウンロードする段階で、その人のハードウェアに合わせて事前コンパイル済みのシェーダーを一緒に届ける。起動時にもプレイ中にもコンパイルが要らなくなる。 そして数字が出てきた。Forza