AMDは“Asynchronous Shaders”と呼ばれる技術の詳細を明らかにしました。Asynchrous Shadersのメリットは、ゲームプレイ中のフレームレートが上がり、VR環境では遅延が減り、高品質な映像処理が可能になるとしています。
Asynchronous Shadersは、GCNアーキテクチャーを採用するRADEON内のAsynchronous Compute Engines(ACEs)と呼ばれるユニットが、各タスクを解析し、遅延をできるだけ生まないように最適化する技術です。
例えば、近頃のゲームエンジンではグラフィックの描画に関するキュー、Physicsなどのコンピューティングに関するキューなど、さまざまなタスクがあります。
GPUはそれらのタスクをなるべく速く処理しようとしますが、どうしてもタスクが切り替わるときに無駄な遅延を生みます。AMDのスライドでは信号待ちの イメージで表現してますね。信号待ちによる一瞬の空白が、GPUにとっては無駄な時間になり、作業効率が悪くなるというわけです。
それに対する改善策が、上記の“PRE-EMPTION”です。重要なタスクをあらかじめ解析し、それを優先させるという手法です。そうすることで、ゲームの画面描画で“待ち”を発生しづらくするのですが、この手法だと実はGPUの演算効率が悪く、オーバーヘッドで本来の性能が出ないという問題が新たに生まれます。
それに対し、Asynchronous Shadersは専用ユニットが各タスクを最適に処理することで、スムーズにタスク処理が行なわれるというものです。PRE-EMPTIONのようなオーバーヘッドが生まれないため、フレームレートも高くなります。
また、Asynchronous ShadersはVR処理の時にも役に立つ技術だとAMDは説明しています。描画遅延を最短にすることで、VRヘッドギアを装着した頭を動かした際に生じる描画の不自然さを少なくなるそうです。
なお、次世代APIであるDirectX 12ではより多数のスレッドで動かし、遅延を低減してフレームレートが上がるともAMDは主張。Asynchronous ShadersはDirectX 12のほか、“Vulkan”やMantle APIでも使用できるそうです。
■関連サイト
AMD
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります