Giter Site home page Giter Site logo

Comments (3)

sletz avatar sletz commented on August 14, 2024

CPU load in JACK in measured as the percentage of the buffer size duration that is effectively taken by the DSP computation. The situation you described could be seen if an additional worker thread is used in Reaper for part of the DSP computation (and the DSP taken by this thread is not really visible).

Do you have any way to confirm this hypothesis?

Thanks.

Stéphane

Le 23 août 2014 à 09:09, wtangerine [email protected] a écrit :

Steps to reproduce:

  1. Load Reaper under Wine, create an empty project
  2. Create 1 audio track
  3. Add JS:Tonegenerator (built-in Reaper FX) to the track FX, make it produce some signal
  4. Add ReaFir (built-in Reaper FX) to the Master Track, select 32768 for FFT Size
  5. Open Reaper's Performance Meter (Ctrl+Alt+P), jack_cpu_load in a console window
    (Options->Preferences->Audio->uncheck "Close audio device when stopped and application is inactive", in order to make Reaper process audio when switching to a different window)
  6. Compare values in Reaper's Performance Meter vs jack_cpu_load. In my case, Reaper shows 1.80% CPU, jack_cpu_load shows 3.4% load. That's about in the same ballpark.
  7. Move ReaFir from the Master track to track no. 1, after tonegenerator (ctrl+alt+mouse drag-n-drop)
  8. Compare the values. They should be the same as before, as essentially the processing chain did not change. In my case, Reaper still shows the same 1.80% CPU. jack_cpu_load shows only about 0.63% load.
  9. Duplicate ReaFir 4 times, to have 5 sequential ReaFir plugins in the FX chain on track no. 1 (ctrl+drag)
  10. Reaper shows about 7.6% CPU, jack_cpu_load shows only about 0.68% load.

Conclusion: with wine/Reaper, jack_cpu_load calculates load correctly for FX on the Master track, fails to calculate correctly for FX on the Audio Tracks.

Measured with Reaper x64, "Net" driver for Jack2, Buffer Size of 2048. Wine compiled from the latest git, with "wine-rt" patches.

Verified similar behavior with Reaper x86, "Alsa" driver for Jack, Buffer Size of 512, with wine-rt from KXstudio-repositories, with and without wine-rt initialized.


Reply to this email directly or view it on GitHub.

from jack2.

 avatar commented on August 14, 2024

Reaper does make use of worker threads, as it has an option to switch to some "alternative worker threads". Checking it did not produce any visible change in the situation. Not sure of any other ways to confirm the hypothesis, though it sounds compelling.

When running Jack with the alsa driver, top reports reaper.exe as using about 30% of the CPU (though that's perhaps for one core of the existing 2), Reaper reports about 6.5% CPU, jack_cpu_load reports about 1.4% DSP load.

To clarify my signal chain, Reaper is connected to Jack through the wineasio ports, and everything is correctly routed in Jack, so I have the audio working and can hear the signal from Reaper on my speakers.

from jack2.

7890 avatar 7890 commented on August 14, 2024

Hi, I will close this issue for the following reasons:

-Inactive for some time
-Involves units such as Wine and Reaper, making it harder to reproduce
-The issue could not be presented as a compact, JACK-only case

However if you think this is still an issue, please feel free to open a NEW issue. Thanks for caring about JACK!

from jack2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.