複数のCPUコアで並列して可視化判定クエリーを実行する機能がサポートされました。可視化判定クエリー実行時に複数のコアに空きサイクルが見つかった場合、この機能を用いることで可視化判定クエリーにかかる実時間を短縮することができます。実際のコンテンツを用いて行った実験では、総じて4つの並行コアでクエリー時間が半減することが示されています。3のランタイムライブラリでは一切のスケジューリングや同期、スレッドやジョブ作成は行なわず、結果の同期処理は呼び出す側のコードに任せます。並列クエリーを使用するには、複数のジョブもしくはワーカースレッドで可視化判定クエリーの呼び出しを行なう必要があります。オブジェクトを持たせる必要があります。インスタンスを共用することができます。オブジェクトに対してスレッドごとのスクラッチメモリーを割り当ててください。これらパラメーターはそれぞれのクエリーを、元となるフラスタムのサブボリュームに制限します。ジョブ数が多くなれば、それぞれのサブクエリーの処理は軽くなりますが、一定の負荷要素およびサブクエリー間で必要な重複がいくらか発生するため、スケーラビリティは100%になりません。複数のサブクエリーの処理時間はジョブの数が増えるほど、結果として増大します。お使いのシステムの使用可能プロセッサーと同数のジョブから始めて、ジョブのスケジュールリングの微調整が必要な場合には、徐々にジョブ数を増やしてください。並列クエリー実行前に唯一必要なのは、クエリースレッド間で0から"numJobs"までの整数範囲を割り振ることです。各サブクエリーは、処理するサブボリュームを特定するために使用するユニークなジョブインデックスを受け取ります。必然的に、各ジョブインデックスは必ず使用し、かつ使用は一度だけにする必要があります。形式で可視判定の結果を生成します。静的なオブジェクトの可視性に対しては、それぞれのジョブ呼び出しで可視オブジェクトリストを処理して、オブジェクトを並列でレンダリングします。サブクエリーの可視オブジェクトリストに重複するエントリーを受け取ることがあるので、オブジェクトが2度処理されることがないように、ワーカースレッドの間で伝える必要があります。返されたオブジェクトインデックスに対して、適切にマルチスレッド保護された、シンプルなビットベクトルまたはハッシュを使用することができます。動的オブジェクトに対しても、同様の並列処理が利用できます。動的オブジェクトすべてを、サブクエリーが生成したそれぞれのOcclusionBuffersに対してテストすることができます。テストの結果、オブジェクトに可視性が認めたれた場合、そのオブジェクトは可視状態にあります。一つの方法としては、生成されたOcclusionBufferオブジェクトを組み合わせて、動的オブジェクトに対するループ数を減少させます。使用して、別のOcclusionBufferから可視性情報を結合することで実現します。下、ワーカースレッドごとにマスターのOcclusionBufferに対しての結合を1度行なうことができます。ユーザーは自分のニーズに最も適した方法を選ぶ必要があります。いくつかのバッファを結合して、部分的に結合されたオクルージョンバッファに対して可視性テストを行うことも可能です。可視性情報を生成するために行なった並列ジョブの数に関係なく、最終的に結合されたオクルージョンバッファ内の可視性情報は同じ結果になります。複数のサブクエリーでオブジェクト境界を厳密にテストするので、ジョブの数が増えるほどわずかではあるものの精度が高まります。控えめに見積もって、どのような方法を取っても通常、正確な結果が算出されます。コールは現在複数のジョブに分割する機能もサポートしていますが、利用する利点はほとんどありません。このAPIは並列クエリーの統合を完全にするため、そしてテストを容易にする目的で追加されました。オプティマイザコメント0件のコメントログインしてコメントを残してください。