RESOLVED:[2022.32050 Windows 10 22H2] Performance issue with Notch blocks

I had been struggling trying to optimize an admittedly very simple notch block that presented poor performance when displayed at full scale. Messing around with multiple TD instances trying to optimize I came across some odd behavior; there seems to be a penalty of ~8ms CPU and GPU on this system executing the block in the FIRST TD instance, whereas additional instances show no such behavior (attached screenshot).
The block performs great on FXPlayerHost at the same resolution with minimal CPU and GPU footprint. I can send the block to whoever needs it.

This has a somewhat big impact on our work since we integrate with Notch a lot, hope you can have a look.


image

1 Like

Thank, logged and we’d like to take a look at it. Please send the block to our support team.

1 Like

What is the reported block_render_time on the Notch TOP’s info CHOP?

1 Like

Block sent!


~9-10ms on the first instance, ~2ms on the second.

FYI, I could replicate the behavior in Builder too, so the issue may go deeper than TD integration, here’s the related thread at the Notch forums:

OK, this probably goes deep. The issue can even be replicated by mixing Notch Builder and TouchDesigner ; if I open the project in Notch Builder first, the editor shows high compute usage, if I then concurrently open the block in TouchDesigner, the cook times are as expected, and vice-versa. If I close the slow-running instances then the compute times of the remaining instances goes to crap, there’s some sort of process affinity going on here, probably driver or API related.

Thanks for the update.

I’m able to reproduce the issue. But I can also reproduce the issue if I run the block in FXPlayerHost while running TD or Notch Builder, so that furthers your point of it not just being an issue with the host.

I tested a little bit and removing the NDI video source from the dfx file and recompiling the block improved the issue significantly for me, so that does narrow the issue down a bit.

Have you heard back from the Notch team?

1 Like

Interesting, I can’t see the benefits from removing the NDI source, I still see a heavy load on the first instance. Actually, I’ve made sure that I launch FXPlayerHost without any other running instances this time and I can’t even set the resolution to the baseline anymore (3704x1144), it crashes! Original report probably had another instance running in the background and that’s why I saw better performance.

I haven’t heard from Notch support yet, if you have a privileged report channel between both teams it may be worth a ping. I can be contacted privately and will gladly help with the resolution process if this goes up in priority.

I’ve tried dissecting Notch Builder’s event log in RenderDoc and see some suspiciously expensive copy operations (~5ms) between textures and render targets, keeps me wondering…

Issue was due to user error, hadn’t noticed that the NDI Sender was enabled and this somehow has a high performance penalty in Notch (facepalm), unlike TD.

Please close!

2 Likes