Hi all,
I am having an issue with my project slowly eating up GPU VRAM over time - something like a GPU memory leak. The GPU usage slowly creeps up over time whilst the system is running. It holds at the high level when I pause the system. When I close and then reopen TouchDesigner, it opens up again at the low, initial GPU VRAM level.
I am trying to isolate where this is coming from but having trouble. While I continue to search for the culprit, we are thinking of using a stopgap solution of effectively just resetting TouchDesigner every so often (we have a gap in our show where this would be possible without too much distruption). My question is, is there a recommended way to ‘reset’ a whole network without closing/opening TouchDesigner? I was thinking maybe saving the whole .toe into a .tox file and then reloading that every so often? Are there any other recommendations for emulating a TD close/open without actually doing this? Otherwise, we may just write a Windows Powershell script that literally does the open/close for us. Thanks.
If the leak is a bug then the memory is going to stay allocated even if you delete all the nodes.
For a stopgap solution restarting TouchDesigner is the best way, and it won’t be much longer than deleting/reloading the .tox file.
Using a .tox file is a good way to diagnose this though. If you put the entire project in a .tox, and delete then reload the .tox, you can see if the memory usage drops back to initial and then re-grows, or ends up still slowly having a large baseline with each time it’s deleted.
Another option is to look at the task manager and see if you can see it growing, and then slowly delete nodes until you stop seeing it growing, to try to track down the culprit.
Thanks for your answer Malcolm.
Eventually found the culprit today by having everything bypassed to start with and then turning things on and watching task manager to see when GPU memory started to increase (that is, increase steadily after a section was turned on, rather than the initial increase at the time of turning a section on). The issue was a switch with one of the inputs having a varying pixel format. Lesson learnt - consistent pixel formats are important!