DirectComposition を使用する理由

Note

Windows 10上のアプリの場合は、DirectComposition ではなく Windows.UI.Composition API を使用することをお勧めします。 詳細については、「 Visual レイヤーを使用してデスクトップ アプリをモダン化する」を参照してください。

このトピックでは、Microsoft DirectComposition の機能と利点について説明します。 次のセクションが含まれます。

視覚的に魅力的なユーザー インターフェイスを作成する

DirectComposition を使用すると、 ビジュアル を組み合わせてアニメーション化して、Windows ベースのアプリケーションに視覚的に魅力的な UI を作成できます。 これは、アプリケーションに固有の外観を提供し、他のアプリケーションとは別に設定する ID を確立するのに役立ちます。

DirectComposition は、アプリケーションを使いやすくするのにも役立ちます。 たとえば、これを使用して視覚的な合図や、画面上の項目間の関係を示すアニメーション化された画面の切り替えを作成できます。

アプリケーションの豊富で滑らかなアニメーションを有効にする

DirectComposition は、ハードウェアアクセラレータグラフィックスを使用して高いフレームレートを実現し、複雑なコンテンツのスムーズで一貫したパン、スクロール、アニメーションを実現する高性能ビットマップコンポジションエンジンです。 アプリケーション UI のレンダリングに使用されるスレッドとは別の専用スレッドで動作するため、DirectComposition は UI スレッドを "枯渇" したり、UI 要素を描画するアプリケーションの機能を妨げたりすることはありません。

さまざまなソースのビットマップを結合する

多くの Windows ベースのアプリケーションには、さまざまなグラフィックス フレームワークによって作成された要素で構成される UI があります。 たとえば、アプリケーションでは、Windows フォームを使用してステータス バーを作成し、Windows グラフィックス デバイス インターフェイス (GDI) を使用してメイン ウィンドウ コンテンツを作成したり、グラフィックス コンテンツ用の Microsoft DirectX を使用したりします。 DirectComposition を使用すると、さまざまなグラフィックス フレームワークのコンテンツを組み合わせて、異なるフレームワークのコンテンツが重複した場合に何が起こるかを心配することなく、同じ最上位または子ウィンドウにレンダリングできます。

DWM との統合によるメモリ節約

DirectComposition によって作成されたコンポジションとアニメーションは、画面にレンダリングするために 、デスクトップ ウィンドウ マネージャー (DWM) と呼ばれる Windows の組み込みコンポーネントに渡されます。 そのため、コンピューターに特別なレンダリング コンポーネントや UI フレームワークは必要ありません。

既に持っているものを保持する

既存の Windows ベースのアプリケーションの UI コードは、大きな投資を表します。 ほとんどの場合、DirectComposition を使用すると、既存の UI コンテンツを作成してアニメーション化できます。 つまり、DirectComposition を使用すると、既存の UI コード ベースに大幅な変更を加えることなく、アプリケーション UI に大幅な更新と機能強化を加えることができます。

DirectComposition