节点如何串联

串联是一些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内存的大小以及可用于缓存的内存的百分比NukePreferencesPerformance > Hardware。您也可以在Preferences

注意:  增加用于缓存的内存百分比并不一定会减少处理时间,并且在某些情况下可能会产生负面影响。在大多数情况下,默认值是40%。

您可以通过单击清除闪烁缓存NukeCache菜单并选择Clear Blink Cache要么Clear All