D5 Renderのコアバリューは、フォトリアルな品質でのリアルタイムインタラクティビティです。. D5 GI は、リアルタイムレンダリングのパフォーマンスを保証します, しかし、シーンの複雑さが大きくなるにつれて、レンダリングのオーバーヘッドは徐々に増加し、リアルタイムのFPSは必然的に低下します。.
多数のフェース、ライト、モデル、テクスチャがあるD5で、リアルタイムでの応答性とFPSを保証できるかが、ユーザーエクスペリエンスにとって非常に重要です。.
モデル読み込みの最適化
多くの3Dアセットは非常に多くの面を持ち、一部はレンダリング効率に影響を与える数え切れないほどのサブオブジェクトで構成されています。D5 Render は、特定の種類の特定のアセットを自動的にマージし、複数の小さなモデルを 1 つの大きなモデルに結合して、DrawCall* を削減し、効率を向上させます。.
D5 バージョン2.0以降、モデルはより効率的なポリゴンレンダリング手法でロードされるようになり、リアルタイムパフォーマンスが大幅に向上しました。バージョン2.0では、バージョン1.9と比較してFPSと応答性が大幅に向上しました。.
*DrawCall: CPUからGPUへ送信されるレンダリングコマンド。DrawCallが多すぎると、GPUが長時間待機し、効率を低下させます。.
マテリアルテクスチャの最適化
D5 Render の新バージョンでは、テクスチャストリーミングを採用し、テクスチャマップを動的にロードします。これにより、マテリアルテクスチャはカメラ内に収まっている場合にのみロードされ、それ以外のテクスチャは一時的にディスクに保存されます。この技術は、ミップマップと組み合わされることで、マテリアルテクスチャがあらゆる距離で最小限のオーバーヘッドで、適切な見た目を保つことを保証します。.
比較テストでは、テクスチャストリーミングを有効にすると、RAMとVRAMの使用量が削減され、フレームレートがわずかに向上します。一部のシーンでは、メモリ使用量を%以上(11Gから6.2G)節約できました。.
多数のライトがあるシーンの最適化
一般的に、光源の数はライブプレビューの応答性(フレームレート)に直接影響します。.
以下の夜景には、数百個の光源があります。

旧バージョンでは、シェーディング計算時にライトの数に応じて動的にメモリを割り当てることができないため、最大ライト数(例:1024個)に応じて事前に割り当てる必要がありました。画面解像度が高くなるとメモリオーバーヘッドも大きくなり、リアルタイムプレビューのパフォーマンスに課題が生じます。.
この問題を解決するために、D5 はライトのサンプリング戦略を最適化しました。まず、D5 は1024個のライトをグループに分割し、各グループのライトの合計輝度を計算してから、シーンにより多く貢献するグループ内の特定のライトをさらにサンプリングします。この最適化により、1024個のライトを持つシーンのGI計算時間が23.84ミリ秒から11.54ミリ秒に短縮され、メモリ使用量は約150MB削減されました。.
GIアルゴリズムの最適化
The optimization of the new D5 GI sampling algorithm above will also improve the frame rate for large scenes. Version 2.1 is enabled with 2-4 times faster reflection calculations and nearly 4 times faster GI calculations. That's why D5 2.1 always has a higher frame rate than 2.0 in the same scene.
D5 "Smoothness" Summary
“「滑らかさ」は2つの指標で測定できます。
- ユーザーインターフェイス上のマウスクリックからD5ビューポートプレビューからの最初のフレームまでの時間。.
- ビューポートが動的に変化する際のリアルタイムレンダリングのフレームレート。.
The example below shows a comparison of the "smoothness" of D5 version 1.9 and D5 version 2.1:

注: 右側の D5 の新バージョンは、カメラビューを移動させるコマンド(クリック)への応答が、旧バージョン(常に左側より速い)と比べて大幅に高速であることを確認できます。また、ビューポートをシェイクした際のフレームレートは、新バージョンではほぼ倍増しています。.