週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

DirectX 12でもMantleでもVRでも使える“Asynchronous Shaders”がスゴそう

2015年03月31日 13時01分更新

  AMDは“Asynchronous Shaders”と呼ばれる技術の詳細を明らかにしました。Asynchrous Shadersのメリットは、ゲームプレイ中のフレームレートが上がり、VR環境では遅延が減り、高品質な映像処理が可能になるとしています。

Asynchronous Shaders

  Asynchronous Shadersは、GCNアーキテクチャーを採用するRADEON内のAsynchronous Compute Engines(ACEs)と呼ばれるユニットが、各タスクを解析し、遅延をできるだけ生まないように最適化する技術です。

Asynchronous Shaders

  例えば、近頃のゲームエンジンではグラフィックの描画に関するキュー、Physicsなどのコンピューティングに関するキューなど、さまざまなタスクがあります。

Asynchronous Shaders

 GPUはそれらのタスクをなるべく速く処理しようとしますが、どうしてもタスクが切り替わるときに無駄な遅延を生みます。AMDのスライドでは信号待ちの イメージで表現してますね。信号待ちによる一瞬の空白が、GPUにとっては無駄な時間になり、作業効率が悪くなるというわけです。

Asynchronous Shaders

  それに対する改善策が、上記の“PRE-EMPTION”です。重要なタスクをあらかじめ解析し、それを優先させるという手法です。そうすることで、ゲームの画面描画で“待ち”を発生しづらくするのですが、この手法だと実はGPUの演算効率が悪く、オーバーヘッドで本来の性能が出ないという問題が新たに生まれます。

Asynchronous Shaders

  それに対し、Asynchronous Shadersは専用ユニットが各タスクを最適に処理することで、スムーズにタスク処理が行なわれるというものです。PRE-EMPTIONのようなオーバーヘッドが生まれないため、フレームレートも高くなります。

Asynchronous Shaders

  また、Asynchronous ShadersはVR処理の時にも役に立つ技術だとAMDは説明しています。描画遅延を最短にすることで、VRヘッドギアを装着した頭を動かした際に生じる描画の不自然さを少なくなるそうです。

Asynchronous Shaders

  なお、次世代APIであるDirectX 12ではより多数のスレッドで動かし、遅延を低減してフレームレートが上がるともAMDは主張。Asynchronous ShadersはDirectX 12のほか、“Vulkan”やMantle APIでも使用できるそうです。

■関連サイト
AMD
 

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

本記事はアフィリエイトプログラムによる収益を得ている場合があります