Background services (processor scheduling)

Vše o hudbě na počítačích se systémem Windows
Odpovědět
Uživatelský avatar
dano
Příspěvky: 3603
Registrován: 13 kvě 2005 20:37

Background services (processor scheduling)

Příspěvek od dano »

Mozno sa to tu uz niekde riesilo, ale vyhladavac nasiel len stare vlakna, kde sa background services odporucalo ako jedno zo zakladnych nastaveni pre DAW. Tak sem dam tento (pre mna) najnovsi poznatok.

Uz pred nejakym casom som sa trochu cudoval, preco ani Cubase ani Focusrite (pouzivam) nepise medzi zakladnymi odporucaniami pre nastavenie PC pre DAW prepnutie procesora na background services. Nakolko som to mal este od cias WinXP zafixovane v hlave ako v principe uplne najzakladnejsie nastavenie, trochu som sa pohrabal na googli a vyplulo mi zaujimavy text (vid nizsie).

Tak ma zaujima vas nazor - este to nastavujete? Ma to vobec vyznam v dnesnej dobe riesit, realne to moze ovplyvnovat stabilitu DAW?

Changing processor scheduling to “Background Services” is almost never beneficial to an audio workstation.

Be wary of adjusting processor scheduling (background services, etc.)
This is a really misunderstood setting. It’s on almost every tweak list, and gets passed around like old fruitcake.

First, a few important points:

The DAW itself is a foreground process — an interactive application, as it has a top-level window (read on for any exceptions below).
ASIO drivers are typically loaded in-process, in the DAW. That means your ASIO driver is almsot always part of the foreground process.
Most DAWs and modern ASIO drivers use MMCSS (Multimedia Class Scheduler Service) threads in some way.
This foreground/background scheduling option is designed more for server use vs client use. If you are hosting a database or web server on your PC, which runs as a service or non-interactive app without a top-level window, then you want to prioritize that over, say, the web browser or some utility app being used at the console. In that case, you’d set the priority to background processes.

Normally, Windows 10 prioritizes foreground interactive processes — just as you would expect in a client operating system. This allows for the best performance when using apps on Windows. When you tell Windows to prioritize background services instead, you are telling it to run Windows services and non-interactive applications (processes) at the same priority as interactive applications/processes (like your DAW).

You know how there are tweak lists that contain a list of services and then claim that they steal processing time from your DAW? (I disagree with much/some of what is stated in those, but there’s no doubt that some services can take processing time.) Well, setting your scheduling to background services is saying “Hey. Give those services the same priority as my DAW.” End result, is they get more time than they would have had otherwise.

I’ve heard folks say to do this so that their ASIO driver gets more processor time. But the ASIO drivers almost always load in-process, and these days, often allocate MMCSS priority threads for their work. So if the ASIO driver is in the same process with the DAW, you want that foreground process to have as much time as possible. MMCSS threads are not affected by setting foreground/background priority, as they are always prioritized for real-time audio.

One exception may be with DAWs which have their audio engine as a separate process. I have not personally tested this (it depends on how the audio engine is implemented to decide if it is foreground or background). Bitwig Studio is an example of a DAW which has split its UI from audio engine processes. But most other DAWs contain everything in the same process, including the ASIO driver.

One other possible exception is with an ASIO driver which is split up between an in-process DLL and a background service. I don’t have personal experience with any that work this way, but it’s possible. Some do include services for configuration or enumeration, but not for the actual audio path, so it’s important to, again, verify and test.

The final exception is with using WASAPI instead of ASIO. There are more moving parts there, including system services, so you may see some performance boost in a heavily-loaded DAW. But this would need to be tested. Plus, if you’re looking for that level of performance, you likely want to use an ASIO driver anyway.

In all cases, if the audio engine and/or audio driver are using MMCSS (MultiMedia Class Scheduler Service) threads (most are these days), then the foreground/background setting won’t help, as the thread priority is managed differently. MMCSS threads are given higher real-time priority regardless.

As with anything else, if you want to try it out, do so in isolation, and measure the impact on your DAW performance both before the change (after a clean reboot) and after.


https://devblogs.microsoft.com/windows- ... de-part-3/
Naposledy upravil(a) dano dne 06 říj 2023 23:11, celkem upraveno 1 x.

Uživatelský avatar
Pytkin
Moderátor
Příspěvky: 22398
Registrován: 23 kvě 2002 16:23

Re: Background services (processor scheduling)

Příspěvek od Pytkin »

A da sa to vobec vo win10/11 nastavit , ako to bolo v XP ?

Uživatelský avatar
dano
Příspěvky: 3603
Registrován: 13 kvě 2005 20:37

Re: Background services (processor scheduling)

Příspěvek od dano »

Jasne, dokonca sa to ani graficky nezmenilo.

Uživatelský avatar
dano
Příspěvky: 3603
Registrován: 13 kvě 2005 20:37

Re: Background services (processor scheduling)

Příspěvek od dano »

OK, aj tu sa to riesi v podobnom duchu. Takze vyzera to tak, ze funkcia "background services" pre DAW je dnes uz pase.

https://gearspace.com/board/music-compu ... st15340524

Odpovědět