DMX Fixture OP is very heavy

Hi,

I’m trying to control a lighting setup using the DMX Out POP in TouchDesigner, with 48 pixels vertically, arranged in 64 rows across and 64 columns deep — a total of 196,608 pixels — via Art-Net.
However, the DMX Fixture OP is very heavy on performance, and I can only get around 17 FPS.
Is there any solution to this?

Hi @marugotobanana0120,

thanks for pointing this out, we are working on optimizing this and already have a step in that direction in a newer build which runs at 60 fps on my system.

The setup is a Grid POP with 64 Columns and Rows and 48 Slices. The Connectivity parameter is set to “None”. I then use the Attribute POP to convert this to a Line Strip via the Type parameter. This is then passed on to a Lookup POP and finally to the DMX Fixture POP.

So the next build will have an optimization for this but just sharing the attached tox to point out the intended way of working.

cheers
Markus
base_ledVolume.tox (1.3 KB)

This is very helpful information.
I’m looking forward to the next build.

By the way, how should I correctly map an image using this program?
dmxPOP3D_Matrix.toe (45.6 KB)

Hi @marugotobanana0120,

in your case, and looking at the addressing, my recommendation would be to use a Primitive POP which can delete all geometry but keep points and generating a LineStrip with sets of 144 points.

In preparation of easier lookup into a texture, now use a Transform POP and the Align page to normalize the size and position of the LED Volume.

After a Lookup Texture POP to fetch the colors from a Texture 3D TOP, you can now pass this on to the DMX Fixture POP and use the Auto Layout function to avoid having to fill out the Routing Table. There is the Quantize Universe parameter which will fill a universe with as many fixtures as fit into the universe and then jump to the next one.

Attached the example setup in your project
Cheers
Markus
dmxPOP3D_Matrix.25.toe (33.6 KB)

Hi Markus,

I must concur with @marugotobanana0120 that for now at least DMX POP out is unusable for LED Volumes. I’m on my workstation with 5090, i9-14… and 64go and your example is running at 7fps here. It says that it was created in 30176 build, so probably you already performed your magic.

By experience, our LED Volume that we have is not laid out in straight forward way and we’re also using copy pop to copy some port and string attributes to create the correct layout. DMX Pop would be absolutely amazing and wonderful as it each pixel could know where to go without toptochop and chops acrobatics. For now though, we’ll be using the usual conversion, it runs at 60fps for sure. Tell me if I can help in any way to advance this work.

Best
sh

1 Like

Hi @_shandor,

sorry - should have saved this out in the build that is currently out but yes, we are working on optimizing this.

As I’m trying to see how people are applying the concept to LED Strips, can you share a simplified example of how you are setting up your volume?

cheers
Markus

1 Like

You’re very welcome.
That was a great help to me.

Each module contains 64 tube LEDs, and whenever the module changes, the Universe also needs to change.
In other words, Universe 21 can only handle up to 144 channels, and the next module must start from Universe 22.
Is there a way to solve this?

Sure thing. I opened it up yesterday, but it’s not compatible anymore with the latest version. Let me refactor it and will send you asap.

1 Like

Sorry to bother you again.
How can I display a 3D object on this cube?

I just want to chime in and say we’ve made significant improvements to DMX POP performance, with the files attached in this thread able to now run at 60 fps and cook time < 1ms. These improvements will be in the next experimental build we release: 2025.30200+.

Thank you for your patience.

8 Likes

Amazing Eric. It will be a game changer for sure for any volumetric work with high count of pixels, which, in volumetric world becomes quickly extremely high count