WisdomSoft - for your serial experiences.

Direct2D とは

Direct2D は DirectX に含まれるコンポーネントの一種で、ハードウェアアクセラレーターを使用した高速な 2D グラフィックス処理を可能とする API です。

DirectX における Direct2D の位置

Direct2D は DirectX に含まれるコンポーネントの一種で、2 次元グラフィックスの描画に特化した API を提供します。図形、ビットマップ、テキストの描画や変換をハードウェアアクセラレーターを用いて高速に処理できます。Windows の描画に長く使われていた GDI (Graphics Device Interface)を置き換える技術です。必要であれば GDI のコードと組み合わせることも可能です。

技術的には 3 次元グラフィックスの描画が可能な Direct3D の API が提供されていれば、必然と 2 次元グラフィックスの表現は可能(立体的な変換をせずに、平面にポリゴンを描画すればよいだけ)ですが、Direct3D を用いて平面的な描画を行うには面倒な計算やデバイスの設定が必要です。

Direct2D は Direct3D の 3 次元グラフィックス特有の複雑さを排除し、簡素な API で 2 次元グラフィックスの描画が可能です。Direct2D の描画は、内部では Direct3D 10.1 の API を用いて処理されています。従って、Direct2D の描画を GPU によるハードウェアアクセラレーターで描画するには、少なくとも Direct3D 9 相当に対応するハードウェアが必要です。ハードウェアアクセラレーターが利用できない場合、Direct2D はソフトウェア(CPU)による描画を行います。

図1 Direct2D
図1 Direct2D

DirectX はゲーム開発に使われる API として有名ですが、Direct2D に限っては標準的なビジネスアプリケーションでも利用するべき価値があります。たとえば、頻繁に更新されるグラフを GDI で描画しているビジネスツールは、Direct2D に置き換えることでより高速で美しい図形を実現できます。

さらに、Direct2D の描画は最新のリモートデスクトップに対応しており、Windows 7 以降のリモートデスクトップであれば、描画コマンドをリモートのコンピュータに送信し、リモートコンピューター上で描画できます。仮想デスクトップ環境のオフィスなど、リモートデスクトップでアプリケーションを利用する場合は大幅なパフォーマンスの改善を期待できます。