Significant Cpu Discrepancy On Osx

Launch Renoise, new song nothing in it.
Using built In Apple Audio, 44100 sample rate, 10 latency.
OSC server is disabled.
1st screenshot is under normal circumstances.
2nd is with all Tools disabled, and ShowScriptingDevelopmentTools=false.

What’s going on?

2135 cpu1.png

2136 cpu2.png

WIth a blank project, after freshly rebooting and installing renoise 2.71 I’m getting:

MacBook pro4,1 Intel Core 2 Duo 2.4 GHz running 10.6
9% cpu usage in activity monitor, 0.9% reported cpu usage from within Renoise

MacPro5,1 Dual 6-Core Intel Xeon 2.66 GHz running 10.6.7
6% cpu usage in activity monitor, 1.7% reported cpu usage from within renoise

defiantly a discrepancy here, but not as much as you’re seeing there, conner… I’ll ask a stupid question - did you get about the same numbers after a reboot? clear the PRAM/NVRAM?
maybe try even a repair disk and permissions for the hell of it.

I’ve seen comments and various more or less logical explainations for the CPU usage discrepency before but that’s a pretty big difference. . .

VERY odd tho that my relatively old, single-core macbook pro is showing about half the CPU usage the brand new hot off the assembly line 12-core MacPro5,1 shows, eh?

First, the Renoise CPU meter !only shows the AUDIO (realtime DSP stuff) usage from Renoise!. The OSX taskmanager shows the CPU usage of the whole process (GUI, MIDI, AUDIO + more - everything in Renoise). So a discrepancy is expected, on all platforms.

The “idle” CPU usage is relatively high on OSX, because we are trying to pump OSC and MIDI messages as fast as possible from other realtime threads into scripts. Scripts (and also Renoises default OSC, MIDI remote mapping impl) live in the users thread, so messages must be transferred from the realtime MIDI, networking threads to the user thread first. This polling costs a bit of CPU usage - even when no MIDI and OSC is received.

The high idle usage is far from optimal, but within Renoise actually does not really hurt. As soon as the audio thread needs more power, it will steal it from all others. As soon as the user thread itself needs more power, it will steal it from the message pumping. But this of course raises the computers overall CPU consumption and thus also battery power, so we should put a bit more work into this and solve the problem a bit more elegantly in one of the next Renoise releases.

The good side of this high idle usage, the way its implemented now, is that OSC and MIDI are processed with a latency of around 2ms if things go well (exact timing depends on a lot of things). Which is pretty great for a scripting based user thread implementation…

Thanks for the explanation. I knew there was some logic behind the discrepancy.

I’m still not understanding why a 12-core Xeon is using a higher CPU at idle time vs the Intel Core Duo.
less is more when there’s nothing to do?

still I have never ever hit any substantial performance limitations in renoise on either of these systems, my brain just wants to wrap itself around why more processing power is needed to sit idle on a 12core xeon vs a 2 core duo

The multi-core audio engine consume more cycles to keep scheduling and syncing 12 audio threads instead of 2… but that is quite small indeed ?

i haven’t even tried to open activity monitor when renoise is running, it works so smooth for me on my 4 year old core2duo that I haven’t even bothered checking it out. And I won’t :). If you guys can squeeze more power out of renoise on osx, that would be great, but for me, it just works.