古いシステムとの比較

レンダリング可能項目と古い UI DAG オブジェクトのセットを比較することは自然に見えますが、これらの目的は非常に異なっています。既存の UI DAG オブジェクトはデータ コンテナではなく、「非 UI 機能」と「UI 機能」を人為的に分割するように設計されています。これらは、評価、移動描画、非描画機能のすべてを 1 つの構造内に組み合わせます。レンダラがないので、各 UI オブジェクト自体がレンダラとして機能します。

同様に、レンダー項目と古い描画要求のセットを同等とみなすことはできません。描画要求は、描画できるもの、必要なデータ、2 つの間の関係について厳密な規則のないものとみなすことができます。例えば、ワイヤフレームの描画を指示する描画要求の代わりにコントロール ポイントのデータを渡し、結果として塗り潰し三角形が描画されるような描画要求を簡単に作成できます。ノードの評価がいつ行われるのかに関して実際のルールはないので、データは描画時にすぐに計算されます。

リソース管理の点では、古いシステム内のすべてのジオメトリは CPU ベースであり、古いシステムにはジオメトリの統合に相当するものはありません。さらに、GPU テクスチャと出力バッファに関しては最小限のサポートしかなく、GPU シェーダと GPU 状態はサポートされていません。

内部レンダリング ループには、描画要求を再評価および再抽出するためにシーン(または少なくとも平行な DAG UI 階層)を常にトラバースする事前のオーバーヘッドがあります。分類は古いシステムでも使用されますが、UI オブジェクトが最終的に分類、更新、描画の方法について責任を持つので、無視してかまいません。一部の基本的なマルチパスを除き、ほとんどの部分のレンダリング ループは閉じられています。詳細および比較については、各インタフェースで説明します。