Copy link to clipboard
Copied
I am iterating over all the Graphs in a Package, calling compute() and then getting all the outputNodes and writing them to disk. This allocates about 3GB of memory for each Graph. There doesn't seem to be any way to tell Substance Designer that I no longer require this data to be cached in memory. So after iterating over 50 Graphs SD runs out of memory and closes.
It would be great an API call could be added to allow me to flush out all the memory used by a Graph.
Copy link to clipboard
Copied
Hi,
This might be a bug. We need to investigate. Ideally, when running out of memory Designer
should save to disk the cached results.
Could you do some tests for us?
First, which Designer version and OS are you using? How much RAM do you have?
In the preferences, general tab, there is a temporary folder entry. Could you check that there is
enough disk space in the drive where that folder is located?
If you check that folder while running your script, do you see some files in the cached_surfaces subdirectory?
Thanks!
Est.
Copy link to clipboard
Copied
Hi Est,
I am running Substance Designer version: 11.3.3 build 5429 commit 15760e94 Release (2022-01-20)
Machine specs: Windows 10 Pro (21HW), 64GB Ram, Intel i7-6950X with an Nvidia 1080.
Looks likes it is completely ignoring the "Temporary Folder" set in the preferences. When it runs out of memory it writes to "C:\Users\<username>\AppData\Local\Temp\Adobe\Adobe Substance 3D Designer\cached_surfaces" instead.
So this looks like a bug in Substance Designer and we can't export properly until this is fixed.
As mentioned, a nice API addition would be to add a way to flush out the memory used by a Graph. That would be much preferrable to having it run out of system memory and caching to disk.
If you need any additional information then just let me know.
Cheers,
Kent