Created on | Updated on

ワークアイテムの静的と動的について

TOP ノードは静的(Static)動的(Dynamic)の 2つのタイプに分けられます。
静的ノードは何も入力を使用しないワークアイテムを生成し、上流データに依存しません
動的ノードはワークアイテムを生成するために上流データからの入力情報が必要になります。つまり、動的ノードはクックされた時にのみワークアイテムを生成することができます。

静的(Static)ノード

TOPネットワークの実行を開始する前でも、単にノードパラメータに基づいた一部のワークアイテムが必要になることはご理解できるかと思います。 このようなワークアイテムのことを Static(静的)ワークアイテムと呼びます。
例えば ROP Mantra TOP は、レンダリングするフレーム毎にワークアイテムを生成し、そのレンダリングするフレーム数は Frame Range ノードパラメータで設定できるため、生成されるワークアイテムの数は事前に計算することができます。
mceclip0.png
もし、次のノードが wedge のように入力のワークアイテム毎に新しいワークアイテムを生成するだけであれば、それらのワークアイテムも静的であると言えます。
mceclip1.png
映画のワークフローはフレームベースであることが多く、レンダリングするフレーム数が事前にわかっていることから、そのワークフロー自体が結果として静的ワークアイテムを生成することになります。

動的(Dynamic)

ノードによっては、一度ワークが完了した後にワークアイテムを生成したいことがあります。 このようなワークアイテムのことを Dynamic(動的)ワークアイテムと呼びます。
ゲームやエフェクトのワークフローは動的であることが多いです。 例えば、群衆をエージェント数に基づいてタイル別に分けて、そのタイル毎に群衆エージェントのセカンダリシミュレーションを実行したい時、群衆シミュレーションを生成してそれらのファイルが読み込まれた後で動的にセカンダリシミュレーションを行なうことができます。
TOP ノードに紫のアイコンが表示されている場合、その TOP ノードは動的であるという意味になります。
mceclip0.png

 

一般的な経験則 として、 動的ワークアイテムよりも静的ワークアイテムの方が好まれます。ワークアイテムの数がわかっているので、どれだけのワークが処理されるのかが感覚的にわかり、Houdiniによる完了パーセンテージの評価の精度がもっと良くなります。

ワークフローによっては、動的ワークアイテムは避けて通れません 。実際にほとんどのネットワーク全体が動的です。ゲームのワークフローを例にすると、レイアウトカーブからレベルを生成する時、カーブと他のカーブが交差、カーブとタイルが交差、カーブと他の何かと交差するまでそのワークの量がわかりません。

Houdiniがそのワークが静的なのかどうかを判断できなくて、ワークアイテムを静的または動的のどちらで生成するのか選択する場合があります。そのような場合だと、TOPネットワークは実行中に常にどのワークアイテムが必要なのかを解明することができることから、常にワークアイテムを動的とマークした方が安全です。しかし、ワークアイテムが静的であることを既に知っているのであれば、そのノードを静的とマークすることで、その静的ワークアイテムの恩恵を受けることができます。

Wait for All ノードは、動的な数のワークアイテムを静的な数、すなわち一つに変換することができます。他のパーティションノードでも動的な数を静的な数に変換することができます。このような場合は、手動でノード設定を変更する必要がなく、Generate WhenAutomatic にすることで制御できます。

mceclip2.png

一部のプロセッサノードには、 Generate When メニュー(過去は Work Item Generation でした)があります。ここからそのノードがワークアイテムを生成するタイミング(動的か静的か)を選択することができます。選択肢が動的か静的かは選択した後にノードを Generate Node することで紫のアイコンが出るかどうかで判断できます。
動的にしか動作しない、または、静的にしか動作しないようなプロセッサには、このようなオプションはありません。
mceclip3.png

一部のパーティションノードには Merge Operations パラメータがあります。
パーティショナー系ノードに対して実行するアトリビュートマージオペレーションの数を定義します。 このアトリビュートマージオペレーションは、パーティション内のワークアイテムのアトリビュートをパーティション自体にマージする際に使用されます。 このアトリビュートマージオペレーションは降順で実行されます。 アトリビュートにマッチさせるパターンを使った最初のオペレーションでアトリビュートがマージされます。
mceclip4.png

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

※ 問い合わせ対応はBorn Digitalより製品をご購入頂きましたお客様のみのサービスとなります。ご了承下さい。
サポート問い合わせ