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

Need a way to temporarily release unused GPU memory without destroying nodes #81

Open
brianchirls opened this issue Jan 23, 2015 · 3 comments
Assignees
Labels

Comments

@brianchirls
Copy link
Owner

Sometimes large compositions with multiple scenes can cause problems running on devices without great GPU resources, like a mobile phone/tablet. For example, when running this piece on a MacBook Air, WebGL crashes (lost context) when switching between scenes.

I propose to add .purge() and .restore() methods to all node types and to the Seriously composition object for releasing all GPU resources (shaders, textures, frame buffers, etc.). All the resources will be rebuilt when .restore() is called or automatically when any purged nodes need to be rendered.

@darkyen
Copy link

darkyen commented Feb 10, 2015

I am worried about the performance implecation of purge and restore methods, are they supposed to be called in realtime ?

@brianchirls
Copy link
Owner Author

No, they're supposed to be called outside of "hot" render cycles, when
you're shutting down or spinning up sections of a composition.
On Feb 10, 2015 3:57 PM, "Abhishek Hingnikar" [email protected]
wrote:

I am worried about the performance implecation of purge and restore
methods, are they supposed to be called in realtime ?


Reply to this email directly or view it on GitHub
#81 (comment)
.

@darkyen
Copy link

darkyen commented Feb 11, 2015

Ah then they definitely make sense.
:D

@brianchirls brianchirls modified the milestone: Early Summer 2015 May 12, 2015
@brianchirls brianchirls self-assigned this May 12, 2015
@brianchirls brianchirls removed this from the Summer 2015 milestone Sep 5, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants