保持モードとイミディエイト モード

グラフィックス API は、 保持モード API と イミディエイト モード API に分割できます。 Direct2D はイミディエイト モード API です。 Windows Presentation Foundation (WPF) は、保持モード API の例です。

保持モード API は宣言型です。 アプリケーションは、図形や線などのグラフィックス プリミティブからシーンを構築します。 グラフィックス ライブラリは、シーンのモデルをメモリに格納します。 フレームを描画するために、グラフィックス ライブラリはシーンを一連の描画コマンドに変換します。 フレーム間では、グラフィックス ライブラリによってシーンがメモリに保持されます。 レンダリングされる内容を変更するために、アプリケーションはシーンを更新するコマンド (たとえば、図形を追加または削除する) を発行します。 その後、ライブラリはシーンの再描画を担当します。

保持モードのグラフィックスを示す図。

イミディエイト モード API は手続き型です。 新しいフレームが描画されるたびに、アプリケーションは描画コマンドを直接発行します。 グラフィックス ライブラリは、フレーム間にシーン モデルを格納しません。 代わりに、アプリケーションはシーンを追跡します。

イミディエイト モードのグラフィックスを示す図。

保持モード API は、初期化、状態のメンテナンス、クリーンアップなど、より多くの作業を行うため、使用が簡単になります。 一方、API には独自のシーン モデルが適用されるため、多くの場合、柔軟性は低くなります。 また、保持モード API では、汎用シーン モデルを提供する必要があるため、メモリ要件が高くなる場合があります。 イミディエイト モード API を使用すると、ターゲット最適化を実装できます。

次へ

初めての Direct2D プログラム