fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] High DSP load


From: josh
Subject: Re: [fluid-dev] High DSP load
Date: Fri, 23 Oct 2009 18:13:22 -0700
User-agent: Internet Messaging Program (IMP) H3 (4.1.6)

Quoting Pedro Lopez-Cabanillas <address@hidden>:
What about adding a call to jack_cpu_load() in fluid_jack.c, and logging the
results?


Good idea. Just did that, ran some tests, saved the output numbers to files and graphed the results from both versions using gnuplot:
plot "FluidSynth-1.1.0.txt" with lines, "FluidSynth-1.0.9.txt" with lines

http://resonance.org/~josh/FluidSynth-AutumnLeaves-graph.png

Very little difference in my case. In fact 1.0.9 spikes higher than 1.1.0 for that test on my system.


Could you try this?
...
#define fluid_synth_is_synth_thread(_s)     TRUE
#define fluid_synth_should_queue(_s)   FALSE

Very little difference, if any at all.


Good to hear.  That confirms that the event queuing has very little overhead.

I've also tested 1.1.0 in another system right now, with very similar results.
The first test machine is an AMD Athlon XP 2800+ Speed: 2 GHz
The second test machine is an Intel Core2Duo T7200 Speed: 2 GHz


I should probably try running FluidSynth on some other machines to see if I can replicate what you are seeing.

Regards,
Pedro




Here is the code fragment I added at the top of fluid_jack_audio_driver_process() in fluid_jack.c:

  static int stats_frame_counter = 0;
  float cpuload;

  stats_frame_counter += nframes;

  if (stats_frame_counter > 48000)
  {
    cpuload = jack_cpu_load (dev->client);
    printf ("%0.3f\n", cpuload);
    stats_frame_counter = 0;
  }


Regards,
Josh





reply via email to

[Prev in Thread] Current Thread [Next in Thread]