メインコンテンツまでスキップ

CookとGenerateとDirty

前回 PDG で処理を実行する基本を書きましたが、
Processor を使用して WorkItem を作り、実行するのは「Generate」と「Cook」という 2 段階が存在しています。

Generate​

PDG では、Processor が WorkItem を作ることを「Generate」と呼びます。

ノードを作成した段階では、ノードはこのように〇が表示されていません。

このノードを右クリックすると「Generate Node」があるので実行します。

実行すると、このように灰色の〇が ItemCount で指定した数だけ作成されます。

これは WorkItem が作成されて実行待ち状態になっていて、
TaskGraphTable の State を見ると「Uncooked」になっています。

TOPs の中では各所で「Generate」というキーワードが出てきますが(Generate When 等)
WorkItem を生成することを指しています。

Cook​

WorkItem を生成するのを「Generate」と呼ぶのに対して、作成した WorkItem を実行することを Cook と呼びます。

ノードを右クリックすると、その中に「Cook Node」があります。
これを実行すると、

実際に処理が実行されます。
Cook され、問題なく完了すると WorkItem はグリーン(Cooked)になります。

Dirty​

もう一度 Cook をしようとしても、すでに実行済の場合はすでに実行済なので再実行されません。
再実行したい場合は、パラメーターを変更して実行するか、
再実行したいノードに「Dirty フラグ」を入れる必要があります。

Dirty This Node を実行すると、

Generate 前の状態に戻ります。
この状態に戻ると、再度 Generate、Cook を実行することができます。

Generate をしないでも、Task を実行するときに Generate は自動で実行されます。
しかし、Generate と Cook が別の処理であるというのを理解してい置くのは 今後様々な処理をするときに重要になってきます。

参考​