Render only one frame

Hello,

I am using a combination of circle/geo/render to generate stars in a black sky.

I would like to save some GPU, because I only use one frame.

Is there a quick way to tell the render TOP to generate only one frame?

Without having to save to an image file. I am looking for an option that I can quickly activate.

I can not stop TD timeline as I have other renderings happening at the same time.

Thanks

Hi,

Not the best option but you can (depending on your needs) simply lock the TOP to freeze the image. The rendered image will remain as is until you unlock it.

It’s working, even after restarting TD, which is what I was looking for thanks.

Any idea what’s consuming CPU/GPU in a circle/geo/light/render combination?

It seems it is the “render” TOP right?

Any way to know for each operator how much CPU/GPU it is consuming without enabling/disabling it one by one?

Everything SOP / CHOP is done on the CPU.
As soon as you switch to TOPs or GEO you are on the GPU side.

Middle clic on each operator to have some information about processing ressources.
You can also see the Performance Monitor under the Dialogs menu.
You also have a graphical tool in the palette called Probe

Superbe thanks.

Is there any way to “lock” / “unlock” multiple operators at the same time?

I can enable/disable the “Viewer” of multiple operators by selecting them and clicking on one of the “Viewer” icon.

However, this does not seem to work for locking, it only locks one operator.

Is this expected?

Not sure this is expected but this would make sense to prevent user manipulation errors as locking an operator preserve their data and remove their dependence on external files which can lead to issues or memory saturation i guess.

In the meantime, you can use python to lock/unlock multiple chosen operators. Enter the list of operators in a text DAT then right clic on it and select Run Script.

op('render1').lock = True

Set them to False to unlock them

op('render1').lock = False

Thanks

This is not convenient for my use case. Neither is a script.

I also don’t want to create sub-components.

I will create a new topic.

Thanks for your help

A script could be good actually, if there was a way to select all operators that have a specific tag.

You can filter all operators based on different rules (including tags) using OP Find DAT

Alternatively, you can filter operators by tags in python

For instance, filtering using ‘lock’ as tag keyword :

op_list = parent().findChildren(tags=['lock'])
for op in op_list:
	op.lock = True

Otherwise the Cache TOP could help you only retrieve a single image (if you need it at startup, toggle on the parameter “Get One Image on Startup”). Also set the “Cache Size” to 1. If nothing looks at the Render TOP, it wont be cooking…

cheers
Markus

Superbe thanks

Is there anyway in Python to know if an operator is currently selected?

I would like to develop a script to lock/unlock all currently selected operators.

Thanks for your support.

that would be the same script as the one looking for tags but instead looking at selected ops

op_list = parent().selectedChildren
for op in op_list:
	op.lock = True

Nice

Cache TOP is a nice trick, but locking also allows saving some CPU for non-TOP OPs such as geo and CPU noise, if I understand correctly.

This script coupled with a keyboard shortcut should be very convenient for my use cases.

Thanks for the support

Hey @sdtouchdd,

locked COMPs (like the geo) will not preserve the data inside them - so any operators inside will still be unlocked.

cheers
Markus

So it means I need to recurse over .children() right?

@sdtouchdd,

depends a bit on the goal, but you need to lock the operator that holds the data you wish to have access to. This could be a File In operator if you still want to adjust parameters of connected filters, or the last operator in the branch if you are just interested in the end result.

cheers
Markus