performCHOP to observe GPU mem + e.g. gridPOP. If you fill the GPU mem once my adding a lot of points, most of it won’t be freed when reducing the # of points again. Only deleting the POP will free it (or restarting the project).
I’m on 2023.31801 Windows 11, RTX 3070 Ti Laptop, Nvidia Studio Driver Version 566.14
gpu_littering.tox (846 Bytes)
Hello @josefpelz
We are aware of this behavior. Currently, a POP will re-allocates attribute or index buffers only if it needs more memory. When the POP need less memory, it keeps using its previous allocations. The logic behind this is that allocating takes time and we don’t want to spend too much time re-allocating if the required memory fluctuates frame after frame.
Perhaps we could come up with some heuristic rule to decide when to re-allocate or let the users control this. It’s a balance between performance and memory consumption.
Thanks for the clarification
I managed to get it in a state yesterday where suddenly it was using my entire GPUs worth of memory (16gb) and I’m not sure how it happened, it happened pretty quickly though so I’ll keep an eye out for it happening again. My only option was to restart touchdesigner.
It’d be cool if we could flush it with a command or something. Am I correct in thinking that this only occurs when creating new POPs then? If I had a project with a set number of POPs and was just changing parameters everything should be fine?
No, if you for instance increase the number of points in a POP, it will use more GPUmem