Why is Mac OSX so slow compared to Windows, especially using Logic and MainStage, despite better HW?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

MeldaProduction wrote:What on earth is MainStage designed for then? The fact that it starts choking at 25% CPU (and it shows 100% to hide it...) is riddiculous. And simply opens 3 times less plugins than Reaper. End of story, in this matter I have no idea what you think is inappropriate on that.
Like Ableton Live it's designed for live performance, and like Ableton Live it has a significant CPU hit because of this focus. I actually can't believe I need to tell you this? Live has long since been regarded as one of the biggest CPU pigs on either OS, the reasons are all to do with it's ability to load instruments, ad FX etc. while playing (mostly)without consequences. This is the same with Mainstage.
You really couldn't find a more opposite approach to CPU handling if you tried than Mainstage OSX and Reaper on Windows.

Anyway by the benchmarks I have more or less proven the MacBook is faster than the other computer.
Using the profiler I have proven there are no multithreading synchronization issues or anything, the processing itself is just slower when performed in the host, parallely. And the only logic reason I can see now is that Urs recommended - memory handling. I verified by using a less memory requiring plugin
Sorry, your benchmarks are suspect, just the fact that you compared a live performance tool to a lean DAW is enough to make one wonder?
So at the end in practice the Mac is simply slower. And the exhaustive benchmarks fully support my theory:

http://www.dawbench.com/win7-v-osx-4.htm
Yes a Hack-intosh is always the best thing to use to compare…. that and the use of Cubase, long since regarded as severely crippled on OSX…. again, the one piece of software out now that was coded from the beginning for both PC and Mac, with no differences that are glaring (like Cubase's poor low latency perfrmance) is Ableton Live.
I would be curious to see your tests with something decently coded for both platforms like Live, but comparing Reaper PC to Mainstage on OSX is completely utterly useless. BTW Reaper on OSX is a horrid pig, worse then live even, so it's not a valid testing platform either, much worse than any Pro Tools differences.

I can tell you now though, after years of performance tests, and people using duel OS boot macbooks etc. that the difference is 3-5%, nothing major, and nothing like what you're reporting.

Post

I can see that debating with you won't be any good to anyone... Not sure if you are from Apple, developer of some specific host or anything, I don't really care... Your arguments make no sense at all. It even seems like you didn't read this thread at all.

You basically said "Reaper is a pig, while MainStage is a realtime tool, therefore it's ok that Reaper is able to handle 3x more plugins in realtime". I think it is pretty obvious, what a nonsense that is.

Since you like to use big words, you should probably define the terms. What is exactly a live performance tool? Because to my knowledge being years an audio software dev and a computer musician for decades, I don't see a difference! And that's your only argument.

And why on earth are you so screaming about Ableton Live??? I never even mentioned it. You should set your story right...

Edit: And you say Reaper is a pig, yet it has the best performance of all the hosts I tested on OSX. The basic fact, that Reaper is able to process 3x more plugins than MainStage is the main suspicious thing. But you seem to have no argument for that, except "something is a pig"... Truly sad...
Last edited by MeldaProduction on Sun May 11, 2014 12:05 am, edited 1 time in total.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

I don't know if the OS is slower ( with any of them, the bottleneck will still be my fingers ), but for the money, that generic pc is at least 2 times faster for sure.

( That MagSafe charger thing is pretty cool though, if you're prone to tripping over the charger's cord )
Free MIDI plugins and other stuff:
https://jstuff.wordpress.com
"MIDI 2.0 is an extension of MIDI 1.0. It does not replace MIDI 1.0(...)"

Post

OSX doesn't have the same level of money going towards it as Windows, that's why. They (MS) can afford the high level of performance design and time investiture.
OSX is also based on a design philosophy (unix) where the interface and 'external' aspects of the OS (graphics, sound etc) tend to be 'external' rather than built into the core of the OS.

Most of Apple's money comes from IOS products now, not Mac.

Post

MeldaProduction wrote:I can see that debating with you won't be any good to anyone... Not sure if you are from Apple, developer of some specific host or anything, I don't really care... Your arguments make no sense at all. It even seems like you didn't read this thread at all.
Sorry it seams like that to you, but it's crazy to me to compare Reaper to Mainstage cross platform on two different machines with different specs. That's as far away from a testing environment as I can imagine. I'm simply an end user who was interested in your results, (I don't work for anybody), but you haven't shown any process that would lead to usable results.

You basically said "Reaper is a pig, while MainStage is a realtime tool, therefore it's ok that Reaper is able to handle 3x more plugins in realtime". I think it is pretty obvious, what a nonsense that is.
Reaper is a pig on OSX, it's a bad port of the Windows version. The Windows version is very lean, and usually wins CPU performance tests on that platform. You seem to be comparing Reaper on Windows to Mainstage on OSX… In either case, it's an irrelevant comparison.
Since you like to use big words, you should probably define the terms. What is exactly a live performance tool? Because to my knowledge being years an audio software dev and a computer musician for decades, I don't see a difference! And that's your only argument.

And why on earth are you so screaming about Ableton Live??? I never even mentioned it. You should set your story right...
An application designed for performing live, which is what Mainstage is, it's not a DAW. Ableton Live is similar in that CPU performance isn't as important to the developers as glitch free operation. In any other application loading a kontakt library would glitch or stop audio, not in Live. I mention Live because of all the hosts that started on one platrform or another, it performs the same with no unequal development like what happened with Cubase in the pre SX days, in fact Live wasn't "ported", both 1.0 versions were released at the same time. It makes it a very valid choice for evaluating performance cross platform, without the obvious differences in basic coding that Pro Tools, Cubase etc. exhibit.

Edit: And you say Reaper is a pig, yet it has the best performance of all the hosts I tested on OSX. The basic fact, that Reaper is able to process 3x more plugins than MainStage is the main suspicious thing. But you seem to have no argument for that, except "something is a pig"... Truly sad...
In a simple "to failure" test using NI Massive in Reaper, Digital Performer 8, Live8 and Logic 8, Reaper performed by far the worst for me on OSX Mountain Lion. Pretty much 25-30% of what DP and Logic could do. I'll try it again with the latest version of Reaper, but those were my results 6 months ago. I'm surprised you found it lean? but Pro Tools is another CPU hog. :?

Post

To properly test the performance of the operating system you would have to be using identical machine code otherwise you might just be comparing mvc to gcc performance difference.

You also want to eliminate the number of cores each application is running on. Some applications don't use all cores by default, so the real performance test isn't just number of instances but CPU usage. If you're only using half the number of cores you can only use half the CPU power of the machine so make sure you don't have different configurations, especially given Hackintosh may default to a false report on the number of cores or hyper threading (check they match).

Basically this test ought to be more scientific by eliminating variables. So how about using open source software and plugins that you can compile with identical settings for a start.

Post

I have been saying for years mac osx is slower on my code (100% or more)... but it is not true, it was a trouble in my code. This year I tested the same code on mac book pro and (unsurprisingly) performances are pretty the same. And I tested it using reaper and bootcamp, and vst protocol. You need to tune same audio blocks, use a driver which performs in a similar way (ie prism). Assembler runs at the same speed obviously. External libraries (like intel) performs at different speeds but lately issues were solved. Maybe they committed mistakes similar to my ones n the past. Mac osx is good (and believe me, I hate it). The only visible difference, mac compiles (and links) at terrific speeds, but again, I'm testing vc 2010, maybe 2013 is faster because it takes advantages from multicore compiling, I dont know.

Post

Ok guys, so I need to repeat a few things, this thread is now too long I guess.. :D

- I checked the performance and LLVM + Mac won over MSVC + PC! So the code is faster (whether it is the CPU or compiler).

- I wanted to check performance in real use! Who cares that a host doesn't use all cores? That's just a very bad excuse for a host that doesn't use all the power the computer provides. Reaper probably won over Logic, because it used 2x as much threads, while Logic thought that sharing arithmetic units in the cores is not a good idea, which I think is just wrong, because it's not just arithmetics. And thanks to that Reaper won.

- PC won over Mac when used in real situation, a lot, using Reaper, which uses all cores. I obviously couldn't compare Reaper to Logic, because Logic would just appear as the worst host in the world :D. So I used a host I measured to use all cores. That of course has a negative side-effect - when the processing got too extreme, GUI response slowed down. But that's logical, better slow down GUI than having audio glitches...

And my theories:
1) Inspired by Urs - memory management handling or worse cache architectur on Mac.
2) IRQ based audio processing may indeed just suck.
3) Apple conspiracy theory :D - they used a processor that appears extremely fast in single-core situation, but to save money it sucks in multicore processing.

Anyway we should close this thread and probably create separate ones for the "theories", because nobody can really keep in track of this... :) But I'll perform some more tests in various hosts on both platforms first.
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

Sorry, I was busy elsewhere so I'm coming back a few days late.

Back in the days I used to have precomputed bandlimited wavetables as static data inside my code. That was a bad idea. OS X seems to try to keep static data inside an executable paged out on the disc. So my wavetables frequently had to be paged back in. I had random performance penalties, even clicks, pops and crashes.

Ever since I became aware, I always malloc fresh memory and copy whatever static data into it. Or compute it instead of using large pre-mediated tables.

Cheers,

- Urs

Post

Thanks Urs. But here the precomputed stuff is always allocated (at least from what I remember). But nice idea ;).
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

About Logic, I used to have performance issues before I knew that it uses a specific way to handle the number of samples to process each time the processing function is called in a plug-in.

For every host in the world but Logic, the host gives an information about the number of samples to compute at each call before the playback starts.

In Logic, the host gives the maximum number of samples to compute and then, the real number may be the same or it may be less (there is a function to lower the latency depending on whether you are recording something or not). If this "function" is not handled correctly, for example if your plug-in is doing FFTs at each call, the plug-in may have serious performance problems...

Post

The number of samples is handled fine of course. Anyway FL Studio is known to do this too, in an extreme way - you may get 232 samples in one buffer, then 4 samples in next one... really crazy...
Vojtech
MeldaProduction MSoundFactory MDrummer MCompleteBundle The best plugins in the world :D

Post

That can be turned off by using fixed size buffers.

Post

-edit for more testing -

Post

MeldaProduction wrote: You basically said "Reaper is a pig, while MainStage is a realtime tool, therefore it's ok that Reaper is able to handle 3x more plugins in realtime". I think it is pretty obvious, what a nonsense that is.

Edit: And you say Reaper is a pig, yet it has the best performance of all the hosts I tested on OSX. The basic fact, that Reaper is able to process 3x more plugins than MainStage is the main suspicious thing. But you seem to have no argument for that, except "something is a pig"... Truly sad...
OK I downloaded the latest version of Reaper. On a 09 Mac Pro 8 core 2.66ghz machine with 24GB of RAM running Mountain Lion, and an RME Fireface. Using NI Massive on the 1991 preset and an 8 bar MIDI track with a single repeating 16th note as a test. At 128 buffer, 44.1k.


Found out why I think Reaper is a pig.
In my tests tracks were record enabled, the way Reaper presents them when you load an instruement. Reaper for whatever reason is awful in this regard. I can get a total of 6 tracks going when they have their record enabled,with it off I can get 70. This doesn't affect Digital Performer 8 or Live 8 at all. 75 tracks easy in DP8 with at least 10 record enabled.

I'm surprised you're saying Logic isn't performing as well? and again Mainstage simply isn't made to handle 70+ instances of a plug in, it's made to perform on a couple VI's at most.

Post Reply

Return to “DSP and Plugin Development”