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

Add support for an init/deinit that's shared between plugin instances #44

Open
ResolumeMenno opened this issue Sep 4, 2019 · 0 comments

Comments

@ResolumeMenno
Copy link
Contributor

Some plugins may require loading some OpenGL resources to implement their rendering with. Currently every plugin has to load the resource for itself in it's InitGL function. It would be more performant if we could have an InitGL that's called once when the plugin is loaded and an DeInitGL when the plugin is unloaded. This is especially noticable when plugins have to generate buffers/textures inside their InitGL call as generating these resources may take several milliseconds. For real-time hosts that have a constant stream of outputs going through the plugin and onto the screen this extra time spent introduces stutters or possibly even freezes in the output, depending on how long an InitGL takes.

Implementing this will put an additional requirement on the host where it requires all plugin instances to always be processed on the same context as where the entire plugin was initialized on (VAOs are never shared, so cannot be shared context).

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

1 participant