Inconsistent Freezing in Long-Term Operation: Looking for advice on optimizing Video Device Out / NDI / Spout setup

Hi everyone,

I am experiencing an issue where my TouchDesigner project becomes heavy or freezes after long-term operation. I would appreciate any advice or insights into my current setup and logs.

  • The project involves real-time video I/O (UltraStudio, NDI, and Spout).

  • I recently realized that leaving the network editor open was adding unnecessary load, so I will be switching to Perform Mode for future operations.

  • No specific triggers for the freeze have been identified yet.

[System Specs]

  • TouchDesigner Build: 2023.11340

  • OS: Windows 11 24H2

  • CPU: Intel Core i9-14900HX

  • GPU: NVIDIA GeForce RTX 4090 Laptop

  • RAM: 32GB

[Diagnostic Findings] According to the Performance Monitor (stats.txt attached), the following operators show higher loads, though they don’t seem to exceed frame time limits immediately:

  • Video Device Out (Outputting to UltraStudio)

  • NDI Out

Syphon/Spout In (Receiving frames from a Python-based application)

[Attached Files]

  • stats.txt: Performance Monitor log.

  • Report.wer: Windows Error Report (since no .dmp file was generated by TouchDesigner).

[Questions]

  1. Are there known stability issues with the combination of Windows 24H2 and this specific build of TouchDesigner?

  2. Are there any best practices for long-term stability when using Video Device Out and NDI simultaneously?

  3. If the freeze occurs again without a .dmp file, are there any specific logs I should look for to identify if it’s a GPU TDR (Timeout Detection and Recovery) issue?

Report.zip (407.2 KB)

Hi @nosukes67 - if you open Task Manager when TouchDesigner is in this state and right-click on the TouchDesigner process there, you’ll see an option to create a .dmp file. If you could attach that, that should give us some more information. Let us know if TouchDesigner was fully frozen or sluggish when you created the .dmp file.

Hi @bangnoise Thank you for replying. Since the freezing issue is not consistently reproducible, I have not been able to obtain a .dmp file of the symptom yet. Regarding the state of the software when it occurred, TouchDesigner was fully frozen.

Thanks - if you could grab a .dmp file through Task Manager the next time it happens, we can take a look.

Hi @bangnoise I have obtained the .dmp file and would like to share it with you.

Due to the system being in operation at the time, the file size is quite large. Could you please download it from the link below? I apologize for the inconvenience and thank you for your support.

Thanks, we’re taking a look

1 Like

@bangnoise
We have also been conducting our own investigation.
We attempted to adjust the GPU priority settings between Intel and NVIDIA, but this did not resolve the issue.
Our project is designed for 24/7 continuous operation over multiple days. We suspect that TouchDesigner’s memory usage is gradually increasing over time, eventually leading to a freeze. Is it possible that a memory leak is occurring, perhaps related to NDI or other video I/O operations?

Our current version is 2023.11340.

Thank you for your support.

Can you try in the latest version to see if the issue still occurs?

We have updated to version 2025.32460, but the memory usage continues to increase in the same manner.

Are there any known issues or potential causes you could suggest looking into?

@bangnoise This issue remains unresolved.

Are there any other troubleshooting steps, workarounds, or diagnostics you would recommend we try next? We appreciate any insights you can provide.

Hi - it would help if you could provide a project file we can run here which reproduces the issue. You can e-mail it to support@derivative.ca if you’d rather not share here. Please link back to this forum thread in your e-mail.

If you’d like to investigate further yourself, make a copy of the project and delete any part of it, and see if the issue remains.

If you still see the issue, then delete another part of it and test again.

If the issue resolves after deleting part of it, then create a version with only the deleted part and if that part can be further deconstructed, repeat the process.

Eventually you should have a minimal set of operators to reproduce the issue.

At that point, let us know what you’ve found - and you’ll be in a position to decide if you can work around the problem pending a fix.