4

私の調査から、GDI+(間違っている場合は訂正してください)がGraphicsさまざまなオブジェクトを描画するために使用されていることがわかりましたが、私の知る限り、システムのグラフィックカードを利用しているかどうかもわかりませんか? それができない場合は、シェーダーなどの多くの機能、または少なくとも自分の DirectX、OpenGL エンジンをコーディングする方法など、グラフィックス カードの多くの機能を利用するように指示できる方法を教えてください。

前もって感謝します。

PS私が完成させたい主なことは、さまざまなオブジェクトのピクセルごとの表現を描くことです。

4

2 に答える 2

6

いいえ、すみません。GDI+ はハードウェア アクセラレーションではないため、グラフィックス カードを使用しません (ただし、GDI はWindows 7でハードウェア アクセラレーションされます)。OpenTKを使用することをお勧めします。

于 2012-08-21T11:41:05.373 に答える
4

GDI+ と DirectX は、Windows オペレーティング システム上でディスプレイにグラフィックスをレンダリングするために使用される 2 つの代替ライブラリです。これらは OS へのインターフェイスにすぎないため、ハードウェア レベルでグラフィックス カードと直接「通信」することはできません。WinForms グラフィックスなどのグラフィックスを描画するために使用されるすべての GDI+ 機能は、直接または間接的に、gdi32.dll システム ライブラリの API を呼び出すだけです。同様に、DirectX 関数にも、呼び出す独自の API ライブラリがあります。

DirectX は 3D グラフィックスのレンダリングにおいてはるかに優れたパフォーマンスを持っているとよく言われますが、GDI+ に機能が欠けていたり、グラフィックス カードを使用していないということでは決してありません。どちらもウィンドウを介して間接的に行われます。比較のために、.NET のすべての WinForms グラフィックスは GDI+ ライブラリに基づいていますが、WPF のグラフィックスは DirectX に基づいています。

于 2012-08-21T11:54:46.990 に答える