Rack v1 builds with improvements

Hello, I just accidentally discovered that v1 does not implement real-time priority for engine threads on macOS.

I found good implementation for real-time priority for engine threads on macOS. and applied it, here it is (code). Performance improvements are insane in case with my machine.

I was able to reduce block size from 4096 down to 256 or even 64, while maintaining 30-60FPS without any glitches even while simultaneously using other Apps (on Macbook 2013, 2 core, i5). Before that I had to almost always use large block size and lowest FPS possible and anyway receive some glitches.

There is also option to disable ports(lights) for a few more cycles.

Download: macOS build

8 Likes

Thanks again, both implementations are really efficient !

Mac Mojave / i5 /2.7GHz / Mac book pro 2015 here

Wow! You should log a bug or something so that @Vortico remembers to take this fix. I don’t know if he’s doing any fixes on 1.0 right now, but if so you could send a pull request?

AFAIK there is complications in accepting pull requests.

Yes, but this is a special case. can’t hurt to contact him.

Nice find and fix! Wow!

I hope it’s not an issue with windows builds regarding realtime priority? :slight_smile:

It only changes the Mac code path.

Would it be possible to port features from the V2 branch, and would someone want to port over the MIDI-timestamp feature for precise MIDI-timing? Regarding how quiet VCV has become I begin to fear that V2 will not be around for a long time… I’m mostly happy with V1, but especially this feature could be quite nice, if it could deliver really precise MIDI-timing.

HA! awesome find and thanks for applying it!
It does indeed make a difference, my simple test was loading the large Dexter patch from @LarsBjerregaard (patch 6).

And starting to browse the web or use other applications, with the current version Rack this would result in crackles.
With this Rack fork that has the realtime option enabled for Mac, there is no crackling!
(Mac Mini M1)

@Vortico could you please add this to the current official 1.6.x build?

@heapdump have you seen this? might be interresting for your ARM test build?

3 Likes

Do you know if this is the same for Linux?

No, Linux and Windows - ok, only for macOS real-time is not implemented in official latest v1.

1 Like

Do I just replace the file in my Application folder with this build? (Backing up the replaced file of course!)

You can have both in the application folder (if you desire), just name it ‘Rack Extra’ or something.

1 Like

Even better, thanks @Eurikon.

This might be a game changer for my ancient 2010 Macbook.

Anyone remember what the line was to add to the settings file, for disabling application update notification?

There is no such setting, but here is fixed version Rack-1.1.6.extra.5b4b218-mac.zip

3 Likes

:+1:t4: :+1:t4: :+1:t4:

It might be, but it might not be. If the problems on the macbook are caused by overheating, usually due to graphics, then this won’t help at all. But it’s worth a try!

I’m yet to try it out but hopefully it’ll let me use a few more modules than I usually can, which isn’t many. It’s very frustrating but i’m stuck with this machine for now.