Rack V2: removing of "Real-time priority" ??

I’m sorry to say that removing “Real-time priority” menu item in V2 as a part of the restructured engine doesn’t go well with my computer.

So I reverted back to doing the old trick of modifying the “Target” in my shortcut and set Rack.exe in a High priority mode (shown below):

C:\Windows\System32\cmd.exe /c start “” /High “C:\Program Files\VCV\Rack2\Rack.exe”

Doing this, for me, removes the audio glitches (1) considerably, as in “day and night”.

I wish the real-time option would have stayed, so I don’t have to modify my shortcut’s target and change the icon with every VCV Rack2 updates, but it’s not that big of a deal to manually change it either. :slight_smile:

Maybe this “hack” can also help others, unless or until there is a better option.

My old system specs:
OS: Win 10
Processor: i7 4770 3.40GHz
Graphic: Asus Strix ROG Radeon RX470 4G
Audio Interface: Roland UA-101

(1) - I’m not talking about the “block size” setting, and yes I’ve experimented with this too.

P.S. If there is a better way instead of modifying the shortcut, please let me know.

1 Like

I used to have a plugin called “thread booster” for VCV 0.6 that did push the audio thread priority. I discontinued it with Rack 1.0 since it seemed to be built in and it would have been a little tricky to make it work with multiple audio thread.

I found that raising the thread priority made a noticeable improvement. Since other daws I know of run their audio at elevated priority it seemed like a good idea.

Now that the item is gone from Rack 2.0 do we know if it’s coming back? If not, what fixed priority does audio now run at? @diimdeep , have you looked at this?

1 Like

Yes I remember your plugin :smiley:

1 Like

Better ? - I don’t know, but there’s Process Lasso Free or Pro - both lets you set a persistent priority for a task (filename).

Thanks,

looking into this :slight_smile:

Or you can use AutoHotKey to automatically set the process of rack.exe to high/realtime/whatever

https://www.autohotkey.com/docs/commands/Process.htm#Priority

I was reading this as you were posting the AutoHK :slight_smile:

I use to love all these research, tweaking, hacking, testing.

Now, I just want my apps to work :rofl:

I guess I’m getting old, and older. :open_mouth: :man_shrugging:

2 Likes

That isn’t “better”, but it’s probably good enough. In any audio app you want the audio processing to take precedence over everything else, including drawing the screen.

If you boost the whole process, and all the threads in it, then all the threads in the app will be running at that priority. In this case, it would mean that rack’s screen drawing would be running at the same high priority.

That’s “good enough” (just set number of threads one lower). The “best” solution is something that works for all users, and does not require them to use different esoteric utilities depending on their operating system. Ideally they shouldn’t have to change anything at all.

That’s why DAWs I know tend to always run audio at max priority, with no user settings, and run number of audio thread at the number of physical cores by default (with options to change that).

2 Likes

Process Lasso just works - AutoHotkey is weird. Agreed - would be nice if it just works. The powersaving “trend” has been a bit hard on low latency audio performance out of the box experience.

1 Like

Yeah power saving and some other things are definitely working to make audio harder and harder to pull off. btw, by my definition, lasso doesn’t “just work”, it only works if you a) know you need it b) download it c) know what it is you need to do in there. I just went to the main web page. It shows 8 screens, and says “click here to see more screens”. sounds like a great tool, but again for me, more that 8 screens and “it just works” don’t go in the same sentence.

Over complicated perhaps.

right-click the process priority column for the relevant process (rack.exe) and choose “cpu priority” …“always” … “High”. It works for me.

1 Like

For me, it’s still not great of a deal to use the shortcut and manually change target line.

I try not adding another app.

The change in the shortcut does work.

When asking for “better” I kinda meant : implemented in VCV ;), but it’s nice to get all kinds of possibilities.

There is a lot of other app like Process Lasso. Like Prio, System Explorer, Bill2’s Process Manager, Process Tamer, Process Hacker and probably way more…

From Rack/CHANGELOG.md at v2 · VCVRack/Rack · GitHub

Restructure engine to no longer use an “engine thread”.

Improve engine performance and latency by no longer requiring thread synchronization between the engine thread and audio thread. The engine now runs directly on the audio thread.

[snip]

Remove “Real-time priority” menu item, since the thread priority is now managed elsewhere (RtAudio, etc).

1 Like

Oh, ok.

so this means:

don’t worry, vcv rack is working in high priority

or you must configure it manually elsewhere?

I m on Linux (low latency kernel, jack, etc ) how to setup the real time priority ?

perhaps

nice -n -20 ./Rack

if I run rack like this :point_up_2:

ps -eo pid,ppid,ni,comm

show

PID PPID NI COMMAND

21476 21475 0 Rack

source

https://itectec.com/ubuntu/ubuntu-process-niceness-vs-priority/

edited it not work since it should use sudo I have no problem to run rack as root, but should I?

edited 2

sems like editing /etc/security/limits.d/audio.conf works

as:

@audio - rtprio 99 

@audio - memlock unlimited

The implication is that RTAudio always runs correctly, but it’s worth investigating. I don’t know of user settings for RTAudio. But that doesn’t mean there aren’t any.

1 Like

I feel I need to say that this thread, that I started, is NO longer relevant for V2. There is no need for me anymore to “hijack” the app into real time priority. The “improved engine” is working wonderfully on my I7 4770 system. I couldn’t be happier :smiley:

This thread should be “closed” or even deleted now as I believe it could be misleading.

3 Likes

Thanks for letting us know,
I will close the thread now.

3 Likes