Version: 5.4
スパーステクスチャ
CullingGroup API

グラフィックハードウェアの性能とエミュレーション

シーンを最終的にレンダリングするグラフィックスハードウェアは シェーダー と呼ばれる専門のグラフィック言語で制御されます。ハードウェアの性能は時間とともに段階的に向上してきており、各段階で導入された一般的なひとまとまりの機能が シェーダーモデル として知られています。より長いシェーダープログラムやより強力な分岐命令、その他の機能のために段階的にシェーダーモデルのサポートが追加されていき、これらの改善はゲームのグラフィックスでともに改善されてきました。

Unity は現在グラフィックハードウェアの Shader Model 2Shader Model 3 のシェーダーモデルをサポートしています。各モデルを実装するグラフィックカードは以下になります。

シェーダーモデル 2

  • 2003 年製の NVIDIA カード (GeForce FX)
  • 2004 年製の AMD カード (Radeon 9500)
  • 2005 年製の Intel カード (GMA 900)
  • すべてのモバイル
  • すべてのコンソール

シェーダーモデル 3

  • 2004 年製の NVIDIA カード (GeForce 6)
  • 2005 年製の AMD カード (Radeon X1300)
  • 2006 年製の Intel カード (GMA X3000)
  • すべてのモバイル
  • すべてのコンソール

さらに、Unity で使用されるグラフィック効果 (例えば イメージエフェクト) の中にも 深度テクスチャコンピュートシェーダー のような他のグラフィックス機能を必要とするものがあります。

深度テクスチャサポート

  • PC: 一般に、2006 年以降に作られた GPU すべて
  • モバイル: OpenGL ES 3 と Metal は深度テクスチャをサポートします。OpenGL ES 2 を使用する場合は、正確な GPU/OS バージョンによっては深度テクスチャはサポートされない場合もあります。
  • コンソール: すべてのコンソールは深度テクスチャをサポートします。

コンピュートシェーダーサポート

  • Windows: DX11 または DX12 を使用し、GPU が DX11 機能をサポートする場合。一般に、2010 年以降に作られたすべての GPU はコンピュートシェーダーをサポートします。
  • Mac: コンピュートシェーダーはサポートされません。
  • Linux: OpenGL Core 4.3 以降を使うとき (OS と GPU のサポートが必要) にサポートされます。
  • Mobile: Android 上で OpenGL ES 3.1 / 3.2 を使用するとき、サポートされます。
  • Consoles: PS4 と Xbox One はコンピュートシェーダーをサポートします。

シェーダーモデルエミュレーション

Unity はあなたのグラフィックカード、ゲームで使うベストの下位のシェーダーモデルを提供し、レンダリングできるようにします。これは開発中、古いマシン上でグラフィックスがどのように見えるか確認するのに便利です。

グラフィックエミュレーションレベルを選択するには、メニューから Edit > Graphics Emulation__ に移動します。使用できるオプションは、現在あなたが Build Settings でターゲットにしているプラットフォームによって使用できるオプションが変更されることに注意してください。デスクトップマシン用として、 Shader Model 2Shader Model 3 がエミュレーションモデルとして現れ、モーバイル用としては OpenGL ES 2.0 のみを選択できます。 No Emulation を選択すれば、ハードウェアのすべての機能を復元することができます。もしあなたの開発マシンが特定のシェーダーモデルをサポートしていない場合には、グラフィックスエミュレーションメニューには表示されません。

エミュレーションはグラフィックス機能をすぐに確認するための方法ですが、実際のハードウェア上であなたのゲームをテストする必要があります。これは特定のグラフィックスカード、オペレーティングシステムまたはドライバのバージョンにおける実際の性能と動作の癖を明らかにします。

スパーステクスチャ
CullingGroup API