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

[BUG] Performance issues with v2.10.0 #253

Closed
muziker opened this issue Mar 22, 2022 · 4 comments
Closed

[BUG] Performance issues with v2.10.0 #253

muziker opened this issue Mar 22, 2022 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@muziker
Copy link

muziker commented Mar 22, 2022

Describe the bug
Using two of these inline causes immediate XRUNS. Also if the input is too hot, something internally gets glitchy. The DAW host starts to glitch out and the host timing jittering like there's large CPU spikes even though there is none. Probably within the chain of audio, there needs to be a way of limiting spikes that mess up the saturation/degrade algorithm. Or possibly denormals.

To Reproduce

  1. Add two of the plugins inline
  2. Immediate XRUNs

Expected behavior
Silky tape emulation

Desktop (please complete the following information):

  • ubuntu 20.04
  • reaper

Additional context
Could this be some kind of shared buffering issue? How can this be debugged, since the plugin runs within the reaper process

@muziker muziker added the bug Something isn't working label Mar 22, 2022
@muziker
Copy link
Author

muziker commented Mar 22, 2022

It's somewhere in the Tape/Comp/Tone section. If i stop that section, everything works fine.

@jatinchowdhury18
Copy link
Owner

Thanks for reporting this issue! I'd imagine the XRUNS are coming from the "Tape" processing section since that's the computationally complex part of the DSP. A couple of follow-up questions:

  • Was this running on an Intel or ARM CPU? I've tested the plugin on the Mac M1 ARM CPUs, but I haven't tested on any ARM devices running Linux. Some older ARM CPUs may not support some of the SIMD intrinsics that are relied on by the tape processing.
  • Were you using the provided binaries from the releases or nightly builds page, or were you building from source? If building from source, you may want to add -DCMAKE_BUILD_TYPE=Release to the CMake configure command. I thought I had added this flag to the building instructions, but it looks like I had missed it.
  • It is possible to debug the plugin in a host, by attaching the debugger to the host process. I haven't tried doing this on Linux, but it should be possible. An easier approach could be to build the standalone plugin target, and debug that.

@muziker
Copy link
Author

muziker commented Mar 24, 2022

It's on an intel, but good to know about the arm intrinsics. I specified cmake --config Release, thinking it was the same as -DCMAKE_BUILD_TYPE=Release. But now that it's rebuild, it's working a lot better. I'm not sure about hooking into the host process with gdb. There's quite a number of reaper sub processes. Too bad there isn't like somekind of tutorial on debugging multi threaded programs.

But thanks for the great plugin btw !

@jatinchowdhury18
Copy link
Owner

Glad to hear the rebuild is working better! My understanding is that the CMAKE_BUILD_TYPE is required when the CMake generator is Makefile-based. If the CMake generator is an IDE (e.g. Xcode or Visual Studio), then just using the --config argument during the build step is good enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants