Tag Archives: performance

Nov 12 2014

Info CHOP tutorial.

The Info CHOP. TouchDesigner 088. 2014.
The Info CHOP is a frequently used Operator. It can help you diagnose and monitor performace issues in TouchDesigner.

1
00:00:00,233 –> 00:00:02,600
Let’s examine the info CHOP.

2
00:00:02,600 –> 00:00:06,567
The info CHOP is a deceptively
simple operator.

3
00:00:06,567 –> 00:00:12,033
Its’ job is to place information
about an operator into a CHOP.

4
00:00:12,033 –> 00:00:20,533
This information can be used to
provide a framework to match the
parameters of other operators
to.

5
00:00:20,533 –> 00:00:25,000
This network starts with the
default movie in TOP.

6
00:00:25,000 –> 00:00:32,733
It’s wired to a resolution TOP,
which I’ve used to alter the
settings of the input TOP.

7
00:00:32,733 –> 00:00:38,667
It’s bypassed for now, and I’ve
wired it to a null TOP.

8
00:00:38,667 –> 00:00:42,900
The info CHOP references the
null TOP.

9
00:00:42,900 –> 00:00:44,033

10
00:00:44,033 –> 00:00:50,933
In this example, let’s look at
the resolution and aspect
channels.

11
00:00:50,933 –> 00:00:53,700
I’ve created a constant TOP.

12
00:00:53,700 –> 00:01:02,933
This TOP uses the info CHOP to
create its resolution and aspect
parameter settings.

13
00:01:02,933 –> 00:01:08,467
We’ve used the info CHOP to
match one operator’s settings to
another.

14
00:01:08,467 –> 00:01:09,900

15
00:01:09,900 –> 00:01:18,600
The original movie in TOP has
resolution and aspect settings
of 800 by 450.

16
00:01:18,600 –> 00:01:21,467
Let’s look at the resolution
TOP.

17
00:01:21,467 –> 00:01:31,600
I’ve created a custom resolution
setting of 500 by 100, and a
custom aspect of 5 by 1.

18
00:01:31,600 –> 00:01:42,500
When I enable the operator by
turning off the bypass toggle,
we see the effect of the
resolution TOP instantly.

19
00:01:42,500 –> 00:01:54,533
By using the info CHOP, we’ve
created a way to automatically
drive the parameters of one
operator network by changing
another.

20
00:01:54,533 –> 00:01:58,500

21
00:01:58,500 –> 00:02:06,500
In this example, we’ll use the
info CHOP to help us analyze
Touch Designer’s performance.

22
00:02:06,500 –> 00:02:14,233
We measure performance by
examining how well our processes
perform by the millisecond.

23
00:02:14,233 –> 00:02:22,033
We can always middle mouse click
on an operator to quickly get an
indication of its performance.

24
00:02:22,033 –> 00:02:33,067
But in some cases we need to
analyze performance over long
periods of time, or compare
performance between multiple
operators.

25
00:02:33,067 –> 00:02:44,500
In this example, I’ve used
select CHOPs to isolate the
“cook_time” channels from two
info CHOPs.

26
00:02:44,500 –> 00:02:52,667
The first info CHOP is
monitoring a quicktime movie,
the second is monitoring a wave
CHOP.

27
00:02:52,667 –> 00:03:02,733
I’m looking to spot fluctuations
in performance over time, so I
use a trail CHOP at the end of
the network.

28
00:03:02,733 –> 00:03:17,200
Since the processing, or cooking
of an operator occurs so
quickly, the trail CHOP is
useful for keeping, and
displaying, a longer term record
of cook states.

29
00:03:17,200 –> 00:03:25,467
Here, I can instantly see that
my movie playback suffers from
irregular performance spikes.

30
00:03:25,467 –> 00:03:34,000
Now, armed with this knowledge,
I can modify the input file or
other parts of my network
accordingly.

31
00:03:34,000 –> 00:03:36,000

Nov 12 2014

Joint SOP tutorial.

The Joint SOP. TouchDesigner 088. 2014.
The Joint SOP is a very specialized Operator, it creates a controllable series of shapes between two Circle SOPs.

1
00:00:00,333 –> 00:00:03,567
Let’s examine the joint SOP.

2
00:00:03,567 –> 00:00:10,067
Before we begin, I’ve included
an important note in this
example network.

3
00:00:10,067 –> 00:00:23,033
By pressing the “viewer active”
button, and hovering over the
SOP window, then pressing the
“H” key, you can center the view
of your geometry.

4
00:00:23,033 –> 00:00:29,533
This is a very important
technique in the Touch Designer
SOP workflow.

5
00:00:29,533 –> 00:00:38,800
We start with a circle SOP and
set its orientation to the ZX
plane.

6
00:00:38,800 –> 00:00:42,400
We then wire the circle to a
transform SOP.

7
00:00:42,400 –> 00:00:48,133
We use the transfrom SOP to
create a positional offset.

8
00:00:48,133 –> 00:00:49,900

9
00:00:49,900 –> 00:00:57,133
I’m animating some parameters
here, so to begin with I’ll turn
those off.

10
00:00:57,133 –> 00:00:58,367

11
00:00:58,367 –> 00:01:05,933
Let’s move the SOP 2 units in
the Y up direction.

12
00:01:05,933 –> 00:01:06,800

13
00:01:06,800 –> 00:01:16,033
I’ll reset the rotation
animation of the SOP, and set
its rotation to 0.

14
00:01:16,033 –> 00:01:17,700

15
00:01:17,700 –> 00:01:31,233
Next, we’ll use a merge SOP to
combine the original circle and
the offset circle into a single
piece of geometry.

16
00:01:31,233 –> 00:01:33,033

17
00:01:33,033 –> 00:01:40,800
This is the basic type of SOP
setup the joint SOP requires to
operate correctly.

18
00:01:40,800 –> 00:01:41,900

19
00:01:41,900 –> 00:01:50,133
The joint SOP will create a
series of circles between the
pair of input circles.

20
00:01:50,133 –> 00:01:55,333
The parameters of the joint SOP
are fairly straightforward.

21
00:01:55,333 –> 00:02:00,133
We can increase or decrease the
number of divisions.

22
00:02:00,133 –> 00:02:01,767

23
00:02:01,767 –> 00:02:09,033
We can also offset the
relationship between the newly
formed circles and the
originals.

24
00:02:09,033 –> 00:02:14,667

25
00:02:14,667 –> 00:02:20,533
I’ve used two noise CHOPs to
animate the offset circle.

26
00:02:20,533 –> 00:02:26,000
One to adjust the position, and
one to adjust the rotation.

27
00:02:26,000 –> 00:02:27,067

28
00:02:27,067 –> 00:02:31,767
I’ve used simple Python
expressions to animate the
noise.

29
00:02:31,767 –> 00:02:41,667
As Touch Designer advances frame
by frame, the channels generated
by the noise CHOP will move
forward in time as well.

30
00:02:41,667 –> 00:02:50,267
By moving the X transform
forward, we sample a constantly
updated range of the noise.

31
00:02:50,267 –> 00:02:53,700
A good analogy is this:

32
00:02:53,700 –> 00:03:00,467
Imagine that you are looking at
a mountain range from the side
window of your car as you drive
forward.

33
00:03:00,467 –> 00:03:10,933
The height of a single point
along the profile of the peaks
and valleys of the range is the
value we apply to the offset
circle.

34
00:03:10,933 –> 00:03:12,600

35
00:03:12,600 –> 00:03:20,100
This animation is reflected in
the generation of the geometry
created by the joint SOP.

36
00:03:20,100 –> 00:03:21,800

37
00:03:21,800 –> 00:03:24,067
Here’s an important note.

38
00:03:24,067 –> 00:03:34,767
The dynamic creation of geometry
can be computationally heavy,
and it can and affect the
performance of Touch Designer.

39
00:03:34,767 –> 00:03:43,633
The more circle divisions I
create with the joint SOP, the
more Touch Designer with slow
down.

40
00:03:43,633 –> 00:03:45,633