DiskCache

DiskCache caches to disk scanlines from its input as they are requested by its output. It does this at full 32-bit floating point. This allows Nuke to reference the cached data instead of constantly recalculating the output of the preceding nodes.

By default, DiskCache caches the selected channels of the current frame at the current zoom level.

DiskCache can be useful, for example, if:

you are working on a large, complex node tree. Using the DiskCache node, you can break the node tree into smaller sections and cache any branches that you are no longer working on.

you are reading in images from a network. If you insert a DiskCache node after a Read node, the image will be cached locally and displayed faster.

you are painting or rotoscoping. If you insert a DiskCache node before a RotoPaint node, flipping frames becomes faster.

The cached images are saved in the same directory as the images the Nuke Viewer caches automatically. You can set the location and size of this directory in the Preferences. A large, fast local disk is DiskCache's best friend.

If you make a change in the nodes upstream, the affected cached images are discarded and automatically recalculated.

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The node tree to cache locally.

Control (UI)

Knob (Scripting)

Default Value

Function

DiskCache Tab

channels

channels

all

Sets the channels to cache from the current frame at the current zoom level.

Precache

Precache

n/a

Click to force all lines in the frame to be calculated and cached.

Python Tab (These controls are for Python callbacks and can be used to have Python functions automatically called when various events happen in Nuke.)

before render

beforeRender

none

These functions run prior to starting rendering in execute(). If they throw an exception, the render aborts.

before each frame

beforeFrameRender

none

These functions run prior to starting rendering of each individual frame. If they throw an exception, the render aborts.

after each frame

afterFrameRender

none

These functions run after each frame is finished rendering. They are not called if the render aborts. If they throw an exception, the render aborts.

after render

afterRender

none

These functions run after rendering of all frames is finished. If they throw an error, the render aborts.

render progress renderProgress none These functions run during rendering to determine progress or failure.

Step-by-Step Guides

Using the DiskCache Node