Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StoreImageSequence leaks GPU memory #1775

Open
PathogenDavid opened this issue May 3, 2024 · 1 comment
Open

StoreImageSequence leaks GPU memory #1775

PathogenDavid opened this issue May 3, 2024 · 1 comment

Comments

@PathogenDavid
Copy link
Member

Found while investigating #1645

StoreImageSequence will leaks GPU memory when processed continuously.

Repro

  1. Download TextureLeakIssue.zip and open the enclosed workflow
  2. Open Task Manager and navigate to the GPU section under the Performance tab
  3. Start the workflow
  4. Observe your GPU memory usage shoot to the moon (note: it is expected for the rendered camera to be laggy, that's not a symptom it's just what the workflow is meant to do)

Cause and proposed fix

I did not investigate completely, but I believe this happens because StoreImageSequence never disposes of the TextureSequence, nor does it re-use and update the same one continuously as one might expect.

This effectively makes it the opposite of #1774

I believe the proper fix will be the same as that one, and once again will benefit from the proposed solution to #1773

@glopesdev
Copy link
Member

glopesdev commented May 4, 2024

@PathogenDavid I agree the current semantics of this operator are confusing. The intention here was that textures created by StoreImageSequence were to be explicitly disposed, as described on my comment in #1774. However, it seems like this operator ended up being co-opted for a few different purposes which are not consistent with StoreImage.

This operator is seldom used to be honest, and I suspect it's design was just not as thoroughly tested as the other operators, so we can review it for release 2.9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants