Perform CHOP

From TouchDesigner 099 Wiki


The Perform CHOP outputs many channels like frames-per-second, describing the current state of the TouchDesigner process. As channels they can be manipulated into user interfaces and calculations to adjust real-time self-tuning of the process.

It outputs the "cook time" of the prior frame that was drawn, which is a reflection of how many frames TouchDesigner cooked in the prior second. The cook channel, when sent to a Trail CHOP shows which frames were cooked and which were skipped, useful in optimizing your work to reach a desired frame rate.

The Built-in Variables found on Dialogs -> Variables -> Built-in include more useful data on your running system. See also the Built-in Variables section of the Variables page.

PythonIcon.png performCHOP_Class


This is a listing of the channels output from the Perform CHOP.

Frames Per Second - the number of frames rendered in the last second.

Frames Time - amount of time each frame takes to cook in msec.

Cook - is equal to 1 when a frame is cooked and equal to 0 when a frame is skipped. It is often useful to view this channel in a Trail CHOP to see when frames are skipped (dropped).

Movie Read Ahead Misses - how many times the movie read ahead failed to maintain the number of specified Read Ahead frames.

GPU Mem Used (MB) - amount of GPU memory used (in megabytes).

Total GPU Mem (MB) - total amount of GPU memory available on the system (in megabytes).

Total Active OPs - How many OPs are actively cooking.

Total Deactivated OP Calls - Number of calls to cook a component that has its Cooking Flag turned off.

Total OPs - total number of OPs in the .toe file.

CPU Mem Used (MB) - amount of CPU memory used (in megabytes).

Cook State - monitors which frames actually cooked. Pass the Perform CHOP to a Trail CHOP to properly see the trail of frames that did and did not cook. (It appears as always 1 because the viewer is displaying only the current frame and not frames it missed.)

Cook Realtime - monitors the state of the realtime flag, determining if TouchDesigner is running in realtime mode or not.

Cookrate - the global target cook rate (frames per second) of the project. This is the frames per second of the root component, root.time.rate, typically 60, though due to frames taking too long to cook, the the actual frames per second may be lower.

Time Slice Step - the number of frames that TouchDesigner stepped forward for the current cook. It's the length of the Time Slice in frames. It will be equal to 1 when the system is taking 1000/root.time.rate msec or less to complete one frame (16.666 msec for a rate of 60).

Time Slice Milliseconds - The length of the current Time Slice in milliseconds.

Perform Mode - monitors the state of Perform Mode.

GPU Temperature(s) - monitors the temperature of the system's GPUs.

AC Line Status - Indicates if the laptop's AC Charger is plugged in and active. 1 if AC line is detected, 0 otherwise.

Battery Charging - Indicates if the battery is being charged. 1 if charging, 0 otherwise.

Battery Life - Indicated charge remaining in battery, 1 is battery full, 0 is battery empty.

Battery Time - Estimated time remaining in battery charge. Only works if AC Line is disconnected and battery is not being charged.

Standard Options and Local Variables

There are no local variables