Reaktor 6: poor performance under Apple Silicon

135

Comments

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor
    edited May 1

    Yes, I have. There's been a lot of flurry about it. It's partially but not entirely debunked (as in: e-cores are used in Logic but not as balanced as in Reaper). Anyway, it's not related to the Reaktor issue. The video is about multithreading, Reaktor performance is all about how well singlecore tasks work. And the M3 is fantastic at that.

  • colB
    colB Member Posts: 991 Guru

    @SaschaFranck

    The difference between 32 samples and 64 samples is the time it takes for sound (at sea level) to travel 22.866… centimetres… so just lean forward a little closer to your speakers, and you won't notice the difference! ;-)

    Really though, there is a big difference between Reaktor and most audio plugins because it is a development environment designed for non-programmers. That means that there are necessary technical compromises, some of which mean that very low latencies are much more difficult to achieve than for e.g. something like a standard synth plugin.

    On top of that you have to factor in that the intel codebase is extremely mature, and will be much better optimised. The Arm code - particularly for core - is first generation, and is bound to be less well optimised.

    It's kinda funny, there were a lot of complaints from Mac users that the Apple silicon support was taking too long, but now that their is a first cut that was rushed to market, you're complaining that the latency isn't quite as good as the intel code base :-D. Entitlement 101 I suppose!

    Also funny to hear complaints about testing, when there was a public beta that had poor uptake, and very very few responses from Mac users. Of course there were PC users in there, but we were only able to make sure they didn't break anything while bending over backwards to accommodate the Apple juggernaut. I don't remember any Apple users complaining about latency problems then, when it would have actually made a difference, because the update was still in development and the problem could have been addressed!

    Where were you?

    Whatever… the trick here if you want it to work better, is to be positive about Reaktor, get more Mac users start using it, then NI will push more resources at it, and the efficiency will be improved. If you just attack it mercilessly, you will just damage it. NI won't throw money at updates if all the feedback is negative, they would be more likely to just cancel it.

    …also, double check they your system is optimised for running Reaktor. NI have good articles covering this on their website, could make a difference.

  • Kubrak
    Kubrak Member Posts: 3,067 Expert
    edited May 1

    OK, there is at least 100 threads running on any computer. And most of them are singlethreaded tasks. Where do they run, if you have only few p-cores?

    @SaschaFranck

    Reaktor performance is all about how well singlecore tasks work. And the M3 is fantastic at that.

    And are you sure Reaktor does not run on e-core? What about make a test, switch e-cores off and run Reaktor? E-core is not so fantastic in singlecore work…

    And I do not know if Reaktor is singlethreaded or multithreaded, but it could be made multithreaded. If it is multithreaded there is even more chance it may run on e-cores…

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor

    Stop educating me please. You apparently don't get what the issue is.

    And stop defending NI. The last update is over a year old already. More than enough time. But as you can see, they're saying themselves that there's no priority for Reaktor at all anymore.

    "Where were you?"

    Did you read this thread? Apparently not. It's a clever idea before commenting, though.

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor

    Dude…

    "OK, there is at least 100 threads running on any computer. And most of
    them are singlethreaded tasks. Where do they run, if you have only few
    p-cores?"

    They typically share the cores.

    "Typically" as in: when you open Logic, it reserves the first P-core for live threads. You can very nicely see that when opening activity monitor.

    Apart from that, most background tasks are managed via E-cores.

    And further: On modern machines, the CPU drain of just keeping the OS alive is minimal.

    "And are you sure Reaktor does not run on e-core?"

    Yes. All live threads in Logic run on the P-cores. Reaktor is no different.

    "And I do not know if Reaktor is singlethreaded or multithreaded"

    So why comment here?

    As a virtual instrument in Logic however, it runs singlethreaded in "live" mode - which basically is automatically activated when you select the track to play it (playback tracks are switched to a higher buffersize automatically and can be multithreaded).

  • Kubrak
    Kubrak Member Posts: 3,067 Expert

    "And I do not know if Reaktor is singlethreaded or multithreaded"

    So why comment here?

    As a virtual instrument in Logic however, it runs singlethreaded in "live" mode - which basically is automatically activated when you select the track to play it (playback tracks are switched to a higher buffersize automatically and can be multithreaded).

    OK, may be so, I do not know how Logic handles things….

    As Paul B writes, he has no problem with Reaktor on Mac with 32 samples buffer….

    Can you show the activity of cores on your system? Paul could run 10 Reaktor instances on 4 p-cores M2 cores that showed load at about 30-40%. So, one possibly could run up to 20-30 Reaktor instances on four M2 p-cores.

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor

    I provided enough details. Single instance of Reaktor running Super 8.

    "In a later post, you show a screenshot of Reaktor, which is taking about
    11% of the CPU (see Reaktor's own CPU meter). Unless you are claiming
    that CPU meter is inaccurate (in which case you'll need to show your
    reasoning) this is not remotely near an amount which will cause
    problems."

    My apologies for the screenshot. Im reality, it's constantly flipping between low numbers and overload.

    Exactly the same with the standalone, on all audio interfaces I have access to.

    "I loaded up Reaktor now in Live and set my buffer to 32 samples at 44KHz."

    On what computer?

    "That's with single notes. What about chords? Polyphony increases CPU."

    I already said so that Super 8 is driving the CPU against the wall without playing anything. Even in standalone mode and with each and every program shut down.

    "Clearly Reaktor can perform perfectly well at a 32 buffer."

    Not even remotely on my machine. See above, it's got nothing to do with Logic, either.

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor
    edited May 2

    This is Reaktor in standalone mode. 44.1 kHz, 32 samples, Super 8 default setting loaded, no notes played. Every other program (including all the small utilities sitting in your menu bar) apart from QT to record the video shut down.

    Doesn't matter anyway, it's always like this. Doesn't matter which interface I use. Doesn't matter whether I'm running it standalone, as a VST in Reaper or as an AU in Logic. It's always exactly like this.

    And again (even if I said so already multiple times):

    • No other virtual instrument is crapping out like that.
    • All of them show huge improvements compared to running them on my Mac Pro.
    • Reaktor works just fine on my (2010!) Mac Pro, all other conditions identical (interfaces, hosts, buffersize, samplerate).

  • Paul B
    Paul B Member Posts: 164 Advisor

    My apologies for the screenshot. Im reality, it's constantly flipping between low numbers and overload. Exactly the same with the standalone, on all audio interfaces I have access to.

    Fair. The video is clear. That's really bad.

    "I loaded up Reaktor now in Live and set my buffer to 32 samples at 44KHz."

    On what computer?

    Mac mini M2 Pro. 12-core (8 performance, 4 efficiency) but if the focus is on single core usage, that shouldn't be relevant. I only ran the tests I did because it's a good way to stress test, given that it loads multiple instruments on a single core. The main point was it's an Apple silicon machine. There are no fundamental differences between M2 and M3 in terms of how code should run on them. The MacBook Air has the regular M3, not the Pro, but I think that is only about the core configuration (Pro has more performance cores) and a single M3 core should be as powerful as a single M3 Pro core.

    "That's with single notes. What about chords? Polyphony increases CPU."

    I already said so that Super 8 is driving the CPU against the wall without playing anything. Even in standalone mode and with each and every program shut down.

    Okay. I did those tests partly out of curiosity. I wanted to see how it compared to idle. Reaktor, like some other synths, will use about as much while idle as while playing single notes because of the way it is coded, I don't like this, but it's not the only one designed this way. And in practice should not matter.

    "Clearly Reaktor can perform perfectly well at a 32 buffer."

    Not even remotely on my machine. See above, it's got nothing to do with Logic, either.

    I accept this. I never doubted that you are experiencing problems, only your conclusion that it points to inherent flaws in Reaktor running on Apple silicon. That does not mean the problem isn't in Reaktor. But it's not like NI updated Reaktor for new Macs, saw what you're seeing, and decided "who cares, let's release it anyway".

    The situation sucks. That is obvious, and I'm sorry you're experiencing this. I was only trying to bring a bit of rationality to analysing the problem. We already have another instance of a problem in these forums that users were certain was NI's fault but that Apple have confirmed is in fact Apple's fault.

    Of course, NI should be looking into this. Whatever the cause, it's in their interest (and ours) to find out.

  • Sunborn
    Sunborn NKS User Library Mod Posts: 3,094 mod
    edited May 2

    Yep, i see it. This is what i tried to tell you to just give it a try (and not to force my opinion to you or to defend NI) and now we all can see that it didn't work in your case. So, i can understand why you complaining.

    However, i have to say that, a 11.4 CPU load (if i saw your image correctly) is not that high for a Reaktor ensemble. I have seen ensembles loading even 70% of CPU. This is not an excuse of course, and yes, it could be due to a bad or obsolete architecture, yet still, there is nothing we can do about it.

    By the way, in my case, the CPU load is 17% but i still can work with it. I never even thought to complain about it! It is what it is, so i simply adjust my needs to it.

    Also, we all have to understand that, in this case, the fault is not on the Reaktor. It is on Super 8 itself! It's an old "dinosaur" and i don't believe that we will see a better version of Super 8 any time soon. The same rule apply to every ensemble (old or new, paid or free). Reaktor is just the building platform.

    So, at the end, it is totally up to you, to use it as it is, or not. Personally, I love Reaktor and i will continue to use it as much as i can, even if i have to sacrifice some ensembles (at least until i get a better machine).

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor
    edited May 2

    "Mac mini M2 Pro. 12-core (8 performance, 4 efficiency) but if the focus is on single core usage, that shouldn't be relevant."

    Number of cores should indeed be pretty irrelevant here (which is also why I got a little p***** because people were suggesting I had no clue when I was saying that singlecore performance is the only relevant thing here).

    Two things may perhaps matter though:

    • In the video from that guy comparing M1, M2, M3 CPUs the M3s aren't doing as well as they could in some scenarios - but mainly it's about Logic not using the E-cores as efficiently, so something not exactly applicable here.
    • You're using a Pro - and even if you suggest a single core could perform the same as on a "plain" M3 (which I'd basically agree with), that could possibly still make some difference. However, as the same ensembles (namely Super 8 and Form) are running comparatively well on a 14y old machine with Xeons (2x2.66GHz) which have never been known to deliver the most stunning singlethread performance, I should at least be able to "somehow" run these two ensembles. And if Reaktor was coded as well as some other plugins (even some of NI), it should actually smoke with the M3. As said before, singlecore performance is absolutely mindblowing.

    "Reaktor, like some other synths, will use about as much while idle as
    while playing single notes because of the way it is coded, I don't like
    this, but it's not the only one designed this way. And in practice
    should not matter."

    I'm absolutely aware of Reaktor using some CPU cycles even when idling, just wanted to make sure I wasn't playing anything (because obviously CPU is still going up somewhat once you play some/many voices). And no, I never found that to be an issue to worry about, it's kinda like the nature of the beast.

    "But it's not like NI updated Reaktor for new Macs, saw what you're seeing, and decided "who cares, let's release it anyway"."

    To be perfectly honest, I don't know. I give them the benifit of the doubt as much as in them releasing the last Reaktor version before the M3 machines were available, so there's that. But that's about it already. Not only that other companie's products don't suffer as much (at least not even just one of the plugins I've installed so far), NI often enough doesn't care about quality assurance anymore. I don't need to go into the Battery 4 fiasco details, do I?

    Note: I'm not saying they are explicitely planning some evil, would never care or whatever. But that doesn't change anything in their QA having a pretty pretty bad track record.

    "Of course, NI should be looking into this. Whatever the cause, it's in their interest (and ours) to find out."

    Sure. But I'm now looking for ways to do my stuff without the help of NI plugins. Should've possibly done so earlier already. I actually still planned on updating Komplete Ultimate to the latest version, but as the other plugin working pretty miserably happens to be Kontakt 7 (the main reason for me to still bother with NI), I don't feel a lot of temptation to actually do so.

  • Paul B
    Paul B Member Posts: 164 Advisor
    edited May 2

    M2 vs M2 Pro benchmarks show such small single core differences that it is probable they are due to minor variations that happen in all tests. Even if they were consistent, they are so small they are not relevant. Multi-core shows significant differences but it would – the pro has more cores and the added ones are all performance cores (2 more for the base Pro model, 4 in mine). Multi-core performance is the only reason to buy the Pro.

    I also don't think that video applies, for more reasons than just the e-core issue. It reaches technically correct conclusions about multi-core performance between the M2 Pro and M3 Pro, but not for the reasons many people think (it's not about the performance of the cores themselves, but about the configuration of those cores).

    I agree that QA at NI seems to be lacking – and this is, I believe, certainly due to corporate decisions rather than the QA engineers and devs themselves. They are doing their best with what resources they have (devs and QA are generally passionate about making quality software). I hope that they work this out.

    There are to my knowledge no notable changes in M3 chips that require retesting for that CPU. The same way there aren't when new Intel CPUs are released. Unless you are updating software to take advantage of new features. The old features don't change dramatically. And even if this was due to the M3 doing something wrong that crippled existing software, that would by definition be an Apple created problem, which NI may or may not be able to do anything about.

    I hear you on this making you want to move away from NI. I don't blame you. And I doubt I would upgrade anything without assurance it would fix the problem.

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor

    "and this is, I believe, certainly due to corporate decisions rather than the QA engineers and devs themselves."

    Oh, quite defenitely. But in that case, I gotta say that the corporate decisions aren't doing their users much of a favour, if at all (ok, nothing new here, especially in NI land…). It's also that some of the most technically competent folks have already been leaving the (apparently sinking) ship.

    "There are to my knowledge no notable changes in M3 chips that require retesting for that CPU."

    That's exactly what I thought as well. But how comes you can run Reaktor without issues while I can't?

    I haven't done anything altering system performance on this machine. Got it just two weeks ago and there's not much you can do on Macs anyway (possibly that's a fortune). So I should be able to get the same kinda performance you're getting. But for me it's all of a crackling mess, even at 128 samples buffersize it's not exactly running clean. So why is that?

    Fwiw, some ensembles (maybe even most) are running just fine (well, they're not exactly running great, either, at least when compared to their performance my vintage Mac Pro), but the only ones I was really using (Super 8 and - even more so - Form) simply won't let me work with them at either 32 or 64 samples buffersize.

  • SaschaFranck
    SaschaFranck Member Posts: 163 Advisor

    I'm not complaining about 11% CPU load. I'm complaining about it to flip between 11% and overload.

    And as far as Super 8 being old gets, well, not really. It's just 2-3 years old.

    Apart from that, it's still a Reaktor issue - because the same ensemble (that apparently has been untouched) is working on my old Mac Pro.

This discussion has been closed.
Back To Top