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 Nuketo 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 NukeViewer 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.
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. |