AcceleratedOpenGL®モードとは怎么ですか?
Accelerated OpenGraphicsLibrary®(OpenGL®)モードのコンピューターグラフィックスは、グラフィックカードのハードウェア能力を使用して、純粋なソフトウェアベースの機能にデフォルトをする代わりに、OpenGL®コマンドとレンダリングの一部またはすべてを実行するためにコンピューターグラフィックスカードでアクティブ化できる状態です。すべてのグラフィックカードがハードウェアアクセラレーションのOpenGL®モードをサポートしているわけではなく、モードをサポートする一部は、OpenGL®ライブラリで利用可能なすべてのコマンドを完全に加速しません。特定のコンピューターまたはデバイスで使用されるハードウェアとドライバーに応じて、OpenGL®モードがアクセル化された場合、競合のため、またはコンピュータープロセッサがグラフィックスプロセッサよりも速いために、実際にソフトウェアレンダリングモードよりも遅くなる場合があります。 AcceleratedOpenGL®モードを使用するアプリケーションを作成する場合、加速モードを処理する方法の実装は標準ではないため、モードのみを正確に検出して使用することは困難です。定義され、ドライバーから次のドライバーまで大きく異なる可能性があります。
OpenGL®グラフィックライブラリは、グラフィックハードウェアとそれにアクセスするために書かれたソフトウェアの間にバッファーを提供する抽象プログラミングインターフェイス(API)です。一般に、OpenGL®はクライアントサーバーモデルで動作します。つまり、ソフトウェアがクライアントになり、通常はOpenGL®ドライバーとハードウェアであるサーバーに描画リクエストと情報を送信します。オペレーティングシステムまたはグラフィックスカードメーカーによって提供されるドライバーは、内部実装が大きく異なるため、いくつかのより高度なハードウェア機能が常に標準化されているとは限りません。 Hardware-AcceleratedOpenGL®モードは、実装のためにグラフィックカードメーカーに任されている機能の1つです。
プログラムがHardware-AcceleratedOpenGL®モードを使用している場合、実際に起こるのはOpenGL®機能呼び出しがドライバーに作られて渡されました。ドライバーがアクセラレーションがアクティブであること、または特定の操作が直接ハードウェアサポートを持っていることを検出した場合、機能はグラフィックカードにあるグラフィックプロセシングユニット(GPU)に直接渡されます。アクティブまたは存在の加速がない場合、コマンドは標準のソフトウェア呼び出しとアルゴリズムを使用して処理および実行されます。ほとんどの場合、ハードウェアアクセラレーションは、純粋なソフトウェアよりもはるかに高速なレンダリング時間を提供します。
一部のグラフィックカードは、AcceleratedOpenGL®モードをサポートしていますが、特定の解像度と色の深さでのみです。これは、プログラムがOpenGL®を初期化すると、特定の解像度と色の深さを要求する場合、グラフィックカードがアクセラレーションモードを自動的に使用する可能性があることを意味します。グラフィックスハードウェアは非常に異なる場合があるため、このモードが常に明らかではないため、ユーザー入力なしでプログラム内から自動的に検出することが難しい場合があります。ドライバーとハードウェアがサポートしなければならないことに加えてAcceleratedOpenGL®モードであるモニターまたはディスプレイデバイスは、リクエストされた解像度と色の深さをネイティブサポートする必要があります。そうしないと、アクセラレーションモードに切り替えるとプログラムが実行されないようになります。