FPS dropping to around 10-15

Hi there, I am generally new to TouchDesigner but I am familiar with some of the basics. I’m following this tutorial online, but when I display the output on my canvas, my frames are between 10-15fps. I have updated all my drivers and my computer is fairly capable of handling this kind of project. For context, here are my pc specs.

CPU : Ryzen 7 5700X
GPU : RX 5700XT 8GB
RAM : 32GB DDR4 3200MHZ

Just wondering if there’s anything I can do or if this will effect the rendered outcome or exported outcome. Any responses would be helpful thank youuu.

Depends what the file is doing, can you post the .toe file?

So apparently I’m not allowed to post the .toe file here because I’m a new user. However, if you search on YouTube “TouchDesigner - The Shore”, that’s basically what I’m doing. Is there any other way for me to share the file here?

Hey @ThunderrCrapp

I increased your user level so that you can share your file,

Best,
Michel

Thank you so much! Here is the file btw!

Sadness Visual.toe (12.5 KB)

Every time I play the output I get around 15fps :frowning:

Thanks for the file, since you’re new to TouchDesigner I’ll go through the process I used to troubleshoot here, I hope it’s insightful.

To find out which operators in your project are taking a long time, you can use Dialogs > Performance Monitor to get a snapshot of everything calculating each frame.
https://docs.derivative.ca/Performance_Monitor

Doing this I saw that the Fractal SOP and Noise SOP were taking a long time, so let’s focus on those first.
First you need to understand SOPs are CPU-based, and animating SOPs (which makes them calculate every frame) must be done with performance of your system in mind. In this case the Fractal SOP was making 41000 points and using a lot of your frame time. MMB-clicking on each node will show you its status and you can see the “Cook time” (amount of time it takes to calculate).

So we could look at reducing the points.

However it was then I noticed the real problem with this setup which is the geometry type here is set to NURBS. Basis Splines like NURBs are nice for modelling smooth surfaces but are not performant for any type of realtime manipulation or animation. They must be converted to polygons before rendering and this is very expensive. You should always use Polygons or Mesh geometry types when animating the geometry in any way, generally I always use polygons on mesh everywhere in TouchDesigner.

You can learn more about this and the differences in geometry types in this article.
https://docs.derivative.ca/Optimize_Geometry_for_Rendering

So switching the grid1 SOP to use Mesh instead of NURBS instantly relieves this performance issue and my system runs it at a solid 60. You will have to readjust the parameters of your network to make it look the same since NURBS and Mesh geometry have very different parameterization. Don’t forget to switch the grid1 SOP’s connectivity back to quadrilaterals as well.

2 Likes

I’ve changed some of the perimeters of the network and things are working smoothly now. Thank you so much.

1 Like