|
From: | josh |
Subject: | [fluid-dev] Multi core support committed and improved |
Date: | Tue, 29 Sep 2009 15:48:45 -0700 |
User-agent: | Internet Messaging Program (IMP) H3 (4.1.6) |
I tested it on my little brother's core duo laptop and saw -F fast rendering increases of anywhere from 11-25%. A decrease of 25% in render time doesn't seem all that bad, if you consider that the maximum theoretical reduction of 2 CPUs would be 50%. I imagine some of the other code paths (reverb/chorus, etc) are probably rather significant and could perhaps also benefit from multi-cores (perhaps do reverb and chorus separately or something).
I also added audio.realtime=yes/no, midi.realtime=yes/no, audio.realtime-prio=1-99 and midi.realtime-prio=1-99 as I discussed before. The core threads take advantage of this, to try and be the same priority as the audio threads. The possible priority inconsistency is still an issue for programs embedding FluidSynth though, but it would still work, just perhaps not optimally.
A couple of bug fixes got committed too, which I caught with valgrind. The -F fast render option is really useful for benchmarking and debugging. Thanks for adding this! :)
I'd like to hear of other user's experiences with the new multi core support, on multi-core machines (a quad core or higher would be nice to get results on). In summary, its useful if you want to maximize the number of potential FluidSynth voices on your system or -F fast render quicker to an audio file. The largest benefit is seen when there are a lot of voices in a MIDI composition or sequence. To try it, just pass -o synth.cpu-cores=N, where N is something like 2, 4, 8 or 256 ;)
Cheers. Josh
[Prev in Thread] | Current Thread | [Next in Thread] |