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

Optimize DSP #75

Open
pdesaulniers opened this issue Apr 18, 2018 · 1 comment
Open

Optimize DSP #75

pdesaulniers opened this issue Apr 18, 2018 · 1 comment
Labels
enhancement New feature or request

Comments

@pdesaulniers
Copy link
Member

pdesaulniers commented Apr 18, 2018

The plugin is very CPU-hungry!

@pdesaulniers pdesaulniers added the enhancement New feature or request label Apr 18, 2018
@pdesaulniers pdesaulniers added this to the Version 1.0 milestone Apr 18, 2018
@pdesaulniers pdesaulniers removed this from the Version 1.0 milestone Jan 8, 2021
@pdesaulniers
Copy link
Member Author

pdesaulniers commented Apr 29, 2021

Potential solution:

  • Store n points of the graph function in a cache, and linearly interpolate between the points. Then, we'll be able to query the graph more efficiently
  • Invalidate the cache when a vertex is moved or the graph is cleared
  • TODO: determine how this feature should interact with warp modes. These parameters are smoothed, so the graph function may change at every sample...
    • One option would be to disable the cache while the warp modes are being automated
    • Another option would be to change how the warp modes work. For instance, by applying warp to the samples instead of modifying the graph's function, we wouldn't have to invalidate the cache when warp parameters are modified. Related conversation: Propose a 'Wolf Shaper (Lite)' binary? #116

This would improve the performance of the plugin in the general case. However, this change would not be fully backwards compatible, since it would slightly alter the output of the plugin in existing projects. Whether or not this matters is up for debate.

(But perhaps we could find a way to disable the cache in existing projects, and enable it in newer instances of the plugin?)

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

No branches or pull requests

1 participant