Mac vs Windows performance.

Discussion in 'General Production Forum' started by kroguk, Dec 29, 2016.

Thread Status:
Not open for further replies.
  1. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Sort of silly you telling me "I should not make such a claim". I am and I can back it up and have backed it up. You could go for a calm debate here... But hey you just rest on your one windows 7 test and proclaim these as truths and tell off anybody who is incompatible with your viewpoint.

    These questions are specifically targeted at you. I am happy to listen to any decent answers you have and discuss them.

    1. How did you isolate and measure ASIO performance ? ASIO generally cuts through most windows libraries and layers anyway that's why it's best at performance.

    2. Since when is ASIO driver a windows service? It's a driver/DLL. So how would giving priority to background services help?

    [​IMG]

    3. A DAW developer stated this. So I shouldn't be quoting this because I might mislead people? What do you find wrong with this statement as below?

    In the interests of a balanced debate you could have argued that the NI hardware service may end up with better performance. 4) Did you test with this enabled and disabled?

    Please don't argue with me unless you have specific answers to my points above 1-4 and come up with a test on window 10 that can specifically prove your point.

    Another thing, did I actually specifically mention ASIO performance here? Nope you brought that one up. ASIO has nothing to do with this. Regardless giving priority to a low level driver is not going to happen when you give priority to background services or programs using this method. It will make no difference to it's performance. I suspect there are probably other reasons why your test gave the results it did (check the Devs quote above) , regardless it's certainly very old and non conclusive. And I don't see any results published anywhere.
     
    Last edited: Apr 12, 2017
    • Informative Informative x 1
  2. Joca

    Joca NI Product Owner

    Messages:
    996
    Whether or not setting Processor Scheduling to "Background Tasks" is still relevant (probably not), it is definitely not a myth.

    ASIO drivers run as a background service in Windows and there was a time when Steinberg recommended optimizing processor scheduling for best performance of background services (long time Cubase users will be well aware of this recommendation as it was stated in the user manuals).
     
  3. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    With respect no and I'll explain, please read my previous post in detail as well.

    * If ASIO ran as a background service it would be much slower and end up giving priority to other tasks. ASIO already gets high priority, it's designed to completely bypass all the Windows layers and bypasses the Windows hardware abstraction layer (HAL).

    * ASIO is not a Windows service. Go into Windows Control Panel -> Services. You will see the Windows Audio service (again nothing to do with ASIO) but you won't see any ASIO service.

    * Observe below that ASIO simply bypasses the Windows audio service... and it does not run as a service and there certainly is NO ASIO service there either. Bypassing everything is part of it's speed, the vendor in fact has to end up writing it's own HAL.

    [​IMG]

    Sidenote - I also note some people just think because they can't physically see it then they think it's just a background thing.. also they just assume it's a service. Wrong conclusion, it's more technical than that (well I've covered it).

    In regards to Steinberg, well this was mentioned in the link I provided. I've never actually read their advise anywhere (can you point to the exact reference?), four possible explanations I can suggest:

    1) They provided a Windows service that accesses the ASIO driver itself.
    2) They were not talking about ASIO, rather another driver model.
    3) Maybe it's something to do with DirectSound back in the day.
    4) Some IT support guy got it wrong. I've provided now detailed evidence in my last two posts about the reasons why.

    Either way the fallout has ended up being a misunderstanding about this ever since, advise has just been copied and pasted throughout the ages until it's almost become the law. The main argument against this I've noticed is "it has always been this way"...Similar to the earth being flat arguement. I regard other DAW developers to have just as much knowledge as Steinberg, and I have quoted them in my previous post. I have also explained in detail in the last two posts. If people want to pick out the areas with what I've already written which they believe are wrong and provide a technical argument against what I've already written (or better still the developer quote I gave) then please go ahead, it would be good if you provide backup and references.

    Just so I'm clear here I'm specifically discussing about ASIO drivers now in this post, and not other driver models, or ASIO4ALL which is totally different.
     
    Last edited: Apr 12, 2017
    • Informative Informative x 2
  4. Mick @ NI

    Mick @ NI Banaholic NI Team

    Messages:
    1,786
  5. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    I just want to add to my last post about Steinberg recommending background services...

    Here is an article from Steinberg. They say it might make sense to have background services priority enabled for Windows XP only. So their advise has changed since Windows 7 (which they also mention in the article).
     
  6. Joca

    Joca NI Product Owner

    Messages:
    996
    Exactly, which is why I said it is not a myth and why I also said that it is probably no longer relevant.

    Steinberg were recommending setting background services priority as late as Nuendo 6 (2013).

    If anybody should know anything about ASIO optimisation it surely must be Steinberg after all it is their baby.:)
     
  7. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Well I've given a link about Steinberg only saying it might be something to do in XP (and only XP). If you see anything that counters it please provide the link and the quote.

    Many myths have historical factual backgrounds btw so I'm quite happy to continue using that term. I was specifically referring to Windows 10 when I first brought this up, although it can still apply to Windows 7 and upwards. I'd rather be sticking to Windows 10 though in order to keep the scope of the discussion specific.
     
  8. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    And I missed something, check my link again, it does refer to Neuendo 6 and Cubase 6, but the only specific recommendation it gives there is to disable hyperthreading. No mention of setting background services priority (unless you are running XP). I always disable hyperthreading anyway in my BIOS but that's another debate.
     
    Last edited: Apr 12, 2017
  9. Joca

    Joca NI Product Owner

    Messages:
    996
    From page 24 of the Nuendo 6 Operation Manual.

    "Optimizing processor scheduling (Windows only)
    To get the lowest possible latencies when using ASIO under Windows (on a single-CPU system), the “system performance” has to be optimized for background tasks:
    1.Open the Control Panel and select the System settings.
    2.On the left, select the “Advanced system settings” option.
    The System Properties dialog opens.
    3.Select the Advanced tab and click the “Settings…” button in the Performance section.
    The Performance Options dialog opens.
    4.Select the Advanced tab and activate the “Adjust for best performance of: Background services” option.
    5.Click OK to close the dialogs."

    I would add that Steinberg does not make this recommendation for the latest versions of Nuendo/Cubase
     
    • Like Like x 1
  10. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Thanks for this. You haven't proved a link for this so I will here (you have to download the PDF).

    I would argue that this old manual has outdated information and was simply referring to XP here. They merely stated the generic blanket term "windows". I've already provided a current link from Steinberg that totally counters their own manual then(!), so unless you running XP, I can at the very least I can prove conclusively Steinberg are contradicting themselves if we are to read it from a "today" viewpoint. As you've stated they stopped giving out this advise afterwards so I think this I think this is more than plausible scenario.
     
  11. Mr36

    Mr36 NI Product Owner

    Messages:
    8,454
    Just a couple of thoughts and observations...

    • Has it been considered that "background services" in this context i.e., the processor scheduling window could simply use the term services more generally (and/or as an artefact from previous versions/uses) to make "background services" refer to any background, "invisible" process (which would include ASIO drivers)?
    • The alleged debunking of this as a myth is based on XP usage. And also doesn't consider that processor scheduling for "background services" could mean background processes/applications.
    • It is possible that setting to "background services" does mask another underlying issue, but I've also seen better performance with this set when no other issue has been apparent and the health/performance of the system is already fine. As before, this (and many other tweaks) has a "YMMV" sticker slapped across it.
    • Setting to "background services" is more like balancing the priority between foreground programs and background processes, not giving priority to background processes per se.
     
  12. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    To deal with your points in order:

    1) It's important to understand what "services" mean in Windows (Windows Control Panel -> services). ASIO does not live in there. I've already covered this in earlier posts. ASIO bypasses all of this anyway (including the Windows Hardware Abstraction Layer), again I've already covered this in great detail and have even provided a diagram.

    2) Windows services do run in the background. I've already explained at great length how ASIO has nothing to do with any of this regardless of whether it's set for programs or background services. I have nothing to add to this other than.... historically (and currently) the only reason why this option is available is if you want Windows to performs more optimally as a server rather than a desktop client.

    3) That I totally agree with (masking an underlying issue), and I've already supplied a developer quote that explains why this is in detail. An example could be that a antivirus realtime file scanning service is slowing everything down, if you give it more priority... bingo...better performance

    4) Setting to background services is simply giving more processing cycles to Windows services. As ASIO is not a Windows "service", or even a "program", and tries not to go anywhere near Windows architecture that slows it down, it's not going to make any difference to performance, in fact likely to make to make overall Windows performance worse for DAWs... apart from... see previous bullet.

    As I've already stated, half the confusion I think is a) Historical XP documentation and b) The assumption that invisible processes must always run in the background.

    I would add, if anybody does decide to test this in Windows 10 (background services vs programs), it certainly won't prove anything in regards to ASIO because it's nothing to do with ASIO. If it does make performance faster they should tell us how they did the test, and list what Windows services and processes running on their PC.. run latencymon etc.

    I think I've provided enough evidence to prove all this beyond all reasonable doubt.

    (EDITED).
     
    Last edited: Apr 12, 2017
  13. Joca

    Joca NI Product Owner

    Messages:
    996
    So why is my RME driver shown as a background service when I open up Windows task manager?
     
  14. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Ah Interesting - do you have a screenshot please?... Is this actually an ASIO driver (can you point to where it is online)?
    You aren't running ASIO4ALL I assume.
    What happens if you change background services/programs settings.. does that change? (Reboot inbetween).

    EDIT - Also check control panel -> Services. Any RME stuff in there?
     
  15. Joca

    Joca NI Product Owner

    Messages:
    996
  16. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Not sure what you are referring to, but if it is Fireface settings that is an app not your ASIO driver (mixer front end?). I suspect if you kill that process (or just close the mixer or something) apps that use ASIO like Maschine will still run perfectly. Also note it's 32 bit so it absolutely is not a driver unless you have a Windows 32 bit installation.
     
  17. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    BTW if you want slightly better performance disable Cortana and Adobe Acrobat update service :). You also don't need to be running the Intel display control panel (probably running in the taskbar area - igfxCUIService module) or Word :). Oh and you are running flash - not good :)
     
    Last edited: Apr 12, 2017
  18. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Oh and to add, you stated "background services", when in fact the screenshot states "background processes". It's important to understand the difference. Nevertheless nothing ASIO here. Observe there is also a tab for services.

    EDIT - I notice in fact that the task scheduler does also show Windows services as Background processes... for they are background processes as well (Thanks M$ for the confusion in terminology, my points are hard enough to get over here as it is!). Nevertheless Fireface settings is almost certainly not a service and you can check in that in the services tab (it won't be there), and certainly has nothing to do with ASIO.

    EDIT AGAIN - I f**ked up the terminology myself and corrected it. Even I get confused sometimes.
     
    Last edited: Apr 12, 2017
  19. Joca

    Joca NI Product Owner

    Messages:
    996
    • Like Like x 1
  20. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Yup and Focusrite are wrong imho just like NI, they are just copying/pasting the old blanket XP advice they got from Steinberg - and even Steinberg has corrected it themselves for later Windows versions, I've already gone into the technical explanation and pointed to the evidence. But it's sort of hard to argue on the internet when people say "Fred says this" or "Bert says that"... we approach the alt news territory rather than tackling the actual facts (technical stuff).

    Again your Fireface Settings app is your mixer app and has nothing to do with ASIO driver during playback. NB a drivers settings app simply interacts with the interface and supplies it the settings it needs, it is not the ASIO driver, as I said just quit it or end the task and your Fireface should still run. If you don't use it daily BTW I recommend you don't run it and save a few resources. WDM is a different thing altogether.

    If you want to see how your driver performs please download latencymon, you can also see your drivers in Windows device manager - you aren't going to get anywhere with Task Manager.
     
    Last edited: Apr 12, 2017
Thread Status:
Not open for further replies.