Experimental:Cache POP
Summary
The Cache POP receives POP data every frame in its input and holds the most recent frames of data (up to Cache Size) in GPU memory. It outputs any of these held frames, determined by Output Index, which acts like a time-delay of its input. Furthermore, Cache Select POPs and Cache Blend POPs can access any combination the Cache POP's set of held inputs, allowing for multi-frame blends.
If the Cache POP's Step Size is 3, for example, the Cache POP will hold every third frame, making the amount of time covered by the Cache POP triple. This reduces the amount of memory needed for long caches. Note that the data held in GPU memory is uncompressed.
You can freeze the set of data held in the Cache POP by turning off the Active toggle parameter. You can clear and hold the cache to zero frames while the Reset parameter is on (the input is simply sent to the output), and you can hit Reset Pulse to clear the cache and start growing the cache again right away. (An Info CHOP connected to a Cache POP will show the number of frames in the cache.)
The values you provide for Cache Index are 0 and negative integers. -2 is the third most recent cached data. Indexes that are out of range are clamped to be between and including -(Cache Size-1), and 0.
You can also specify two channels to define the weights, one for weight and for indices.
Cache POP gives you choices on how to number the index of the cached images.
When the .toe
or .tox
file is restarted, the cache starts cleared - nothing is saved in the file.
Note that when frames are dropped, data in the cache may be older that they would be if frames were not dropped. The Trail POP, though different in functionality, deals with frame drops more elegantly by filling in data for missing frames, and tagging each timeslice with an Age
attribute. The Cache POP does not have this built-in.
See also Cache Select POP, Cache Blend POP, Trail POP, Cache TOP, Texture 3D TOP.
Parameters - ]], Page
active
-
cachesize
-
cachesizeunit
- ⊞ -
- S
seconds
-
- F
frames
-
step
-
stepunit
- ⊞ -
- S
seconds
-
- F
frames
-
outputindex
-
outputindexunit
- ⊞ -
- S
seconds
-
- F
frames
-
reset
-
resetpulse
-
Parameters - Common Page
bypass
-
delinputattrs
-
Operator Inputs
- Input 0: -
Info CHOP Channels
Extra Information for the Cache POP can be accessed via an Info CHOP.
Common POP Info Channels
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build: