1尽量用序列串文件,少用mov
2尽量减少节点的使用数量(除非有特别用途).用一个参数是3的节点也别使用三个参数是1的节点, 删除未调节参数的节点(虽然他们没起作用,但会减慢你的程序运行速度,只要你渲染过就会发现节点们不停的闪)
3 Blur节点尽量少用,它们太慢! 即使必须使用也得告诉nuke模糊哪些通道(比如rgb/alpha),别用默认的all以减少计算量
4如果你做了很多变换和模糊(transforms and blurs)一定记得在某个地方或在结尾加个裁剪节点(crop),否则nuke会计算画面外的内容。(有人不同意这样的说法,你可以试试。)
5千万别一个接一个的使用重影节点(erode)否则渲一个小时一帧你也得等着:)
6如果你觉得总有重复性工作,可以做个gizmo。一劳永逸啊
7如果边界盒(bounding box)因为变换(transforms)或其他操作变大,建议最好连接合并节点(Merge)到最高效的输出上(set bbox to knob)。
8 nuke变慢的原因:
a-如果nuke看起来假死或常变慢,可以检查随nuke同时启动的信息窗口里的提示/错误/警告
b-检查输入素材的位数是32位还是16位
c-检查bbox(常在read nodes上)用下面的 "Check bounding box" 脚本 追踪到最浪费的家伙们
Code:
mult = nuke.getInput('Show nodes with a bounding box larger than their format times this value', '1.5')
badies = []
for n in nuke.allNodes():
width = nuke.expression(n.name()+'.width')
height = nuke.expression(n.name()+'.height')
bbWidth = nuke.expression(n.name()+'.bbox.w')-nuke.expression(n.name()+'.bbox.x')
bbHeight = nuke.expression(n.name()+'.bbox.h')-nuke.expression(n.name()+'.bbox.y')
format = width*height
bbox = bbWidth*bbHeight
if bbox > format*float(mult):
badies.append(n)
def displayBadies ():
return '\n'.join([n.name() for n in badies])
nuke.display('displayBadies()', nuke.Root(), 'Inefficient Nodes')
for b in badies:
b['tile_color'].setValue(-16776961)
label = b['label'].value()
warning = '
CHECK BBOX'
if label != '':
label = '\n'.join([label,warning])
else:
label = warning
print label
b['label'].setValue(label)
以上脚本用法:打开一个新的Script editor 窗口,把脚本粘贴到下面的输入区,敲ctrl+enter则开始
运行,会出现个输入框,默认为1.5,它是你要查找的bbox是工程文件的多少倍,比如s里是400*300,你
如果输入2则找bbox大于800*600的节点,总之可以用3实验一下,再减小,也可以用默认的1.5.被标记的
节点会变大变红,可以用copybbox 或adjuestbbox去调整他们,具体用法可参见帮助文档的109页“
Adjusting the Bounding box”
d-检查write 节点输出通道的数量,根据需要选择,尽量别用默认的all。如果必须事业all,也可以使用Remove node删除无用的通道
e-如果可以的化尽量用内建