节点如何串联
串联是一些Nuke当您有多个节点一个接一个地变换图像时,节点会执行。当节点连接时,它们将这些相邻的转换操作传递到该行中的最后一个转换节点,然后最后一个节点立即执行所有转换。
例如,如果您连续有三个Transform节点,而不是分别执行每个转换并过滤输入图像3次, Nuke将转换合并为一个操作,仅对图像过滤一次。由于过滤不可避免地会破坏一些图像细节,因此重要的是,应尽可能多地串联节点以保持图像质量。
在该示例中,有三个串联的Transform节点。图像仅被过滤一次。在“变换”节点之间插入“裁剪”节点会中断串联。图像被过滤了两次,导致图像质量差。
|
|
为了串联,串联节点必须相邻。因此,如果您有一个在两个串联节点(例如,变换节点)之间不串联的节点(例如,Crop节点),则不会发生串联。
如果在连接的节点中使用多个过滤方法,则将一系列连接节点中的最后一个过滤方法应用于结果。
|
当节点串联时, Nuke只要 使用在 最后一个串联节点(在这种情况下, 使用的过滤方法是Mitchell)。 |
根据经验,连接的唯一节点通常是变换节点。除了这些,Dot,NoOp,Switch节点和禁用的节点也不会中断串联。
颜色节点不连接,因为Nuke以32位浮点数工作,足以避免出现条带和可见的舍入误差。
请注意,某些转换节点不会串联,并且不应与那些转换节点穿插。也有一些变换节点接收串联,但不传递任何东西。
连接的节点 |
仅在上游连接 |
不要串联 |
卡3D |
基本材料 |
AdjustBbox |
角针 |
扩散 |
黑色外面 |
协调3D |
置换 |
作物 |
重新格式化 |
移位 |
镜子 |
稳定 |
发射 |
平面追踪器 |
追踪器 |
环境 |
PointsTo3D |
转变 |
耀斑 |
位置 |
点 |
网格经 |
TVI规模 |
无操作 |
IDistort |
|
开关 |
镜头变形 |
|
禁用节点 |
MotionBlur2D |
|
|
丰 |
|
火花 |
||
高光 |
||
球形变换 |
||
花键经线 |
||
星图 |
||
瓦 |
||
转换蒙版 |
GPU缓存
当数据从CPU传递到GPU并再次返回时,GPU缓存通过将数据保留在启用缓存的节点之间的GPU上来减少了处理开销。当节点支持GPU缓存时,它们会将GPU数据传递到支持GPU缓存的最后一个节点,然后立即将所有数据传输回CPU。
所有CaraVR节点,更新的Bilinear和SphericalTransform节点以及BlinkScript节点均支持GPU缓存。
例如,如果您连续有三个GPU缓存节点,而不是从CPU转移到GPU再转移回CPU三次, Nuke在GPU上执行所有计算,然后在节点树的末尾将数据一次传送回CPU。
在该示例中,三个缓存节点仅在C_ColourMatcher之后将数据从GPU传回一次。在缓存的节点之间插入“等级”节点会中断缓存的序列。Nuke现在,对于同一操作,两次传输数据,一次是在C_GlobalWarp之后,另一次是在C_ColourMatcher之后。
|
|
您可以控制GPU内存的大小以及可用于缓存的内存的百分比Nuke的Preferences下Performance > Hardware。您也可以在Preferences。
注意: 增加用于缓存的内存百分比并不一定会减少处理时间,并且在某些情况下可能会产生负面影响。在大多数情况下,默认值是40%。
您可以通过单击清除闪烁缓存Nuke的Cache菜单并选择Clear Blink Cache要么Clear All。