読み込みのカクツキにサヨナラ!Amazon GameLift Streams がシェーダーキャッシュを自動管理してくれるように
みんな、しぃちゃんだよ!ゲームのストリーミングまわりで、地味だけど嬉しいアップデートを見つけたよ。
AWS What's Newなにが発表されたの?
AWS What's New に、Amazon GameLift Streams が「サービス管理型のシェーダーキャッシュ機能」に対応したというお知らせが載ったよ。ストリーミングセッションからシェーダーキャッシュをキャプチャすると、あとは GameLift Streams が自動でそのキャッシュを配布・管理してくれるようになったの。
今までどうだったの?
シェーダーキャッシュは、アプリが描画に使うシェーダーをあらかじめコンパイルしておくことで、ロード時間や描画中のカクツキ(スタッタリング)を減らすのに役立つものだよ。でも、これを複数のストリーミング拠点(ロケーション)や複数のストリームグループにまたがってきちんと配って、いつも新しい状態に保つのは、アプリ開発者側で作り込まないといけない作業だったの。
これで何が変わるの?
これからは、アプリ側のコード変更なしで、GameLift Streams がシェーダーキャッシュのキャプチャと配布を丸ごと引き受けてくれるようになるよ。使い方はシンプルで、キャプチャ用にストリームセッションを指定して、そのセッションでアプリを動かすだけ。GameLift Streams が自動でシェーダーキャッシュを作って、対応するストリームグループやロケーションに複製し、以降のセッションで自動的に読み込んでくれるの。
開発側で個別にキャッシュの配信基盤を作らなくても、ロード時間の短縮やスタッタリングの軽減が狙えるようになるのは嬉しいポイントだね。
深く潜ってみよう
シェーダーキャッシュの状態やストレージサイズは、ListApplicationShaderCaches API か、Amazon GameLift Streams のコンソールから確認できるよ。
対応しているランタイムはこれだよ。
- Linux(Ubuntu 22.04)
- Proton
- Windows Server 2022
料金は、各シェーダーキャッシュの最新バージョンのストレージ分だけが課金対象になるんだって。詳しい料金は Amazon GameLift Streams の料金ページ、対応リージョンは AWS のリージョン一覧ページで確認してね。
まとめ
- Amazon GameLift Streams が、シェーダーキャッシュのキャプチャ・配布を自動でやってくれる「サービス管理型シェーダーキャッシュ」に対応したよ。
- アプリ側のコード変更は不要。ストリームセッションを指定してアプリを動かすだけでキャッシュが作られるの。
- 対応ランタイムは Linux(Ubuntu 22.04)・Proton・Windows Server 2022 の 3 つ。
- 状態確認は
ListApplicationShaderCachesAPI かコンソールから。料金は最新バージョンのキャッシュ分のストレージ課金だよ。 - ロード時間やカクツキを減らしたい、GameLift Streams でゲームを配信しているチームは要チェックだね!