On this page |
ファイルサイズの削減 ¶
エージェントプリミティブ一式をディスクに保存すると、そのジオメトリファイルには共有された複数のエージェント定義も埋め込まれるので、そのジオメトリファイルを読み込む時にそれらのエージェントを再構築することができるようになっています。
エージェント定義の各コンポーネントは、ディスクファイルの 外部参照 を指すようにすることができます。 例えば、Agent SOPの Input パラメータを Disk に設定した時や、Agent Clip SOPを使ってディスクからアニメーションクリップを読み込んだ時に、そのディスクファイルを外部参照するようになります。 そのような場合では、エージェント定義を保存する時に、そのジオメトリファイルには、そのファイルのパスのみが保存されます(パックディスクプリミティブと同様)。 これによって、フレームシーケンスを保存した時のジオメトリファイルのサイズが飛躍的に小さくなります。 外部参照をしなかった場合、そのコンポーネントの内容(例えば、クリップやシェイプライブラリ)がパックジオメトリプリミティブと同じ手法でジオメトリファイルに埋め込まれます。
Tip
Agent ROPの Source パラメータを Agent Primitive に設定すると、既存のエージェントプリミティブのエージェント定義がディスクに書き出されます。
ファイルキャッシュの読み込み ¶
ジオメトリファイルからエージェントを読み込んだ時、そのエージェント定義と外部参照ファイルもディスクから読み込まれます。
エージェント定義に外部参照が含まれていない場合は、ファイルシーケンスを読み込む時にパフォーマンスが低下する可能性があります。 大きなファイルを読み込まなければならない上に、それぞれのファイルにエージェント定義をコピーし、フレーム毎にエージェント定義を変更することになるので、ビューポートパフォーマンスが低下してしまいます。
エージェント定義のコンポーネントが外部参照であれば、Houdiniはフレーム毎にエージェント定義ファイルを再読み込みする必要がないので、パフォーマンスを上げることができます。 Houdiniは、エージェント定義ファイルの参照を数えたキャッシュを維持するので、メモリ内のエージェントプリミティブがそれらのファイルを参照していなかった時には、そこからエントリーが削除されます。 つまり、File SOPの Cache Frames パラメータを 最低でも1 に設定することを推奨します。 そうしないと、シーケンスの次のファイルを読み込む前にFile SOPのジオメトリをクリアした際に、エージェント定義ファイルが必要なものまでメモリからクリアされて再読み込みされてしまいます。
Tip
DOPネットワークのキャッシュシミュレーションのビューイングと同等のパフォーマンスを得るには、File SOPの Cache Frames パラメータをシミュレーションフレーム数に設定してください。