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
    Just read the Ableton link. They also recommend we disable processor scheduling. I guess they wrote that bit on April fools day LOL.
     
  2. b-righteous

    b-righteous Moderator Moderator

    Messages:
    9,673
    Wow, a lot of words and usual ranting to prove yourself right based on theory and your own understanding.

    Like I said, ran the test and it proves to be beneficial to low latency performance with the tweak on Win 7 not XP. The test was real world and I know what I am doing. Have run the test prior on other DAW's on multiple systems. Many others have observed the same. Not talking about myth or test looking at meters or on a system that shows different results every time you run it or reboot. The result was consistent. As with any tweak YMMV depending on your system though as there can be other variables at play that setting this will not help or even make it worse. Don't assume that everyone who recommended this tweak was like you and going off others advice or their limited understanding of theory without testing it out first. The theory or reasoning behind why it can give a small boost to performance is not really all that important. What is important is if it is beneficial and if the results can be quantified and are repeatable.
     
    Last edited: Apr 13, 2017
  3. b-righteous

    b-righteous Moderator Moderator

    Messages:
    9,673
    Anyway, the performance difference was significant but small so not really worth arguing about. Mr. 36 had it right to try it out and see if it works for you or not. Simply load a couple heavy projects to the point of crackles then pull back the plugins until it runs smooth. Save project and reboot and retest 2 or more times. Then rerun the test with the tweak and see if you can squeeze out more performance. This will tell you if it will make any difference on your rig.
     
  4. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Once again you attack me. I'm not ranting or arguing. I'm calmly supplied the technical evidence AND references and as I said I am very happy you pick apart the evidence I've supplied, I even supplied clear bullet points to make it easy, instead you chose not to, rather go on about my limited understanding blagh blagh but not actually supplied any detailed analysis or references to counter what I've stated. Just a blanket dismissal. Frankly this is entirely predictable.

    You are just merely repeating yourself about your Win7 test ages ago.. without supplying full details and specifics you aren't giving much to go on, for instance what exactly were the windows background services you are running in the background... we have no idea how fine tuned your system was nor any detailed results or the process you used. If you had done we could have had a decent discussion. Perhaps you should get your testing gear out and do it with Windows 10 eh?

    Now please calm down, it shouldn't be too hard to have a technical discussion without biting people's heads off. Between the last time you posted and now I believe that's exactly what we've been having.
     
    Last edited: Apr 13, 2017
  5. Mr36

    Mr36 NI Product Owner

    Messages:
    8,454
    Your modesty and sense of self-worth are both regularly astounding. :p

    Comment from your beloved Cakewalk and about Sonar 7PE on an XP system from 2007 and a Microsoft article that just doesn’t mention the processor scheduling… Not the strongest, conclusive, or most relevant references really.

    And yet your main reference is about XP. And if invisible processes don’t always run in the background, but can’t be seen in the foreground, where are they? MAGICAL PROCESSES?


    Please read what you wrote here:
    …and then consider my first bullet point again.

    Also...
    If setting to “background services” really is just for processes that are actually services in Windows terms, then this could still be beneficial to some systems even if it doesn’t affect the ASIO driver directly.
    If, however, “background services” is meant more generally to include background processes, it could affect the ASIO driver directly and other things.


    You’ve taken a mention of ASIO and ran with it. Yes, using ASIO still typically provides the best performance on Windows systems (dependent on the drivers themselves), but ASIO and the application(s) are not the only elements in a Windows music production system and giving more priority to background processes (not just Windows services) can be beneficial without directly affecting ASIO performance.


    Yes, a quote from a Cakewalk developer/employee from 2007 about XP and Sonar 7PE… I’m not disputing some of the details in that quote, however, but it’s not the whole story or a definitive answer.


    The bottom line, again, is that this setting has been found to make a difference in system performance (not just “ASIO performance”), so it’s just best for users to spend ten minutes and try it out.
    :)
     
    Last edited: Apr 13, 2017
  6. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Well I was keen to see if I can see if I could supply some hard evidence on my PC to prove that ASIO drivers are not a service, and I have. The screenshot below shows SysInternal Process Explorer, you can download it from here (totally recommend it). You too can conduct this experiment if you don't believe me.

    In order to get the ASIO driver up and running I ran Sonar and pressed play on an existing project, from here I produced the below screenshot:

    [​IMG]

    I have a Focusrite Saffire Pro and you will notice highlighted in blue SaffireAsio64.DLL which is obviously the ASIO driver. You will observe Sonar (SONARPLT.exe) directly hooks into it. It is not running under a service. BTW that DLL will disappear as soon as I quit Sonar.

    *** If it was running under a service it would be running under svchost.exe which is the Windows Service process ***

    Further background on svchost.exe please check here:
    https://www.howtogeek.com/howto/windows-vista/what-is-svchostexe-and-why-is-it-running/

    You will also observe above it that saffireaudiomixer, saffireaudio, and saffireaudiomixer is running as a service (svchost.exe). These are not ASIO drivers. This basically allows me to get sound in Windows (Windows Control Panel Sounds).

    Game/set/match I believe - if you don't mind me being so modest. There really isn't much more to prove here. In simple terms if you give priority (longer time slices) to background services you are really giving priority to svchost.exe processes (Windows services). It would be nice to do a test on this next just to prove it next.

    Cheers.
     
    Last edited: Apr 13, 2017
  7. Mr36

    Mr36 NI Product Owner

    Messages:
    8,454
    I don't think anyone here has said that ASIO is a Windows service... :confused:

    Thanks for confirming what no-one thought though. :)
     
  8. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    I think I've proven my point from a technical perspective and from documentation. I'm not sure how sarcastic comments towards me help you to prove a point so I'm not taking the bait sorry. If you want a sensible discussion then please talk to me in a respectful manner and show me your proof and analysis.
     
  9. Mr36

    Mr36 NI Product Owner

    Messages:
    8,454
    You are well within your rights to think you've proven a point or proved anything at all, it doesn't mean you have. All I've read so far is a few technical details that give part of the picture and a lot of talk that misses some of the most important points and focuses on the points you want to keep repeating.

    I tried discussing this before, but first just got repetition that did not address the points I raised and then just more repetition that ignored them. To be honest, I'm not sure which evidence you've provided that you think has proved anything of note to this topic.

    The fact remains that no-one said ASIO is a Windows service, that ASIO is not the only important protocol for a mudic computer, and, most importantly, many users have and do report improvements on some systems when setting the processor scheduling to background instead of programs.

    If setting to programs gives you best performance, excellent, leave it set to programs. This might not be the case for every system though and, in my experience, it is not.

    Enjoy the rest of your "discussion". :)
     
  10. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    There is no two way discussion if all you want to do is discuss personality traits and be sarcastic. Nice bit of editing btw with my "even I get confused" quote, I had actually admitted I f**ked up but you chose to cut out that bit out in the sentence. I'll stop right here because I don't want to get suckered into yet another silly arguement you and BR really seem to be dying to have. If you carry along that line I will simply ignore you next time.

    You stated nobody has stated ASIO is a windows service, but I'm actually out to disprove that optimizing for background services makes no difference when we are talking about ASIO.

    BR stated "Some of us testers had the same question and one of the developers stated background is better on with Maschine for ASIO performance".

    Joca stated "ASIO drivers run as a background service in Windows".

    Yet no evidence is supplied, and I've supplied evidence to prove this is not so.

    We've already discussed the point that if Windows background services gives better performance then there is probably some other underlaying reason. Anything more to add?

    Nobody is disagreeing with you here that people shouldn't be testing the performance of their PC either in a variety of different configurations, so I'm not sure why you and BR keep repeating this. Seems like you want to talk about testing for performance whilst I want to talk about optimizing for performance.

    You seem to want to ignore my Steinberg and XP quote when it comes to background services, just use a bunch of other stuff to counter.

    I'm looking into further tests to prove windows services are actually background services, one and the same. What are you doing? Any way you can show me this is wrong? What do you suggest background services are? That would be a far more interesting discussion, even better if you could supply evidence.
     
    Last edited: Apr 13, 2017
  11. Joca

    Joca NI Product Owner

    Messages:
    996
    Fireface usb is not the mixer app (totalmix does that).
    Fireface usb is an app whose extensions are fireface_usb _asio.dll and fireface_usb_asio64.dll. The app is definitely associated with the ASIO drivers as it allows the user to set the sample rate and it is the ASIO drivers which directly communicate the sample rate to the audio device.

    In your later post you are indeed correct in that the host application (DAW) is responsible for initiating the ASIO drivers but is that any different than saying the host application (e.g. Word) is responsible for initiating the printer drivers?

    It is the responsibility of the ASIO driver to set the priorities of the threads it owns and, since Windows Vista, it is the The Multimedia Class Scheduler Service (MMCSS) that ensures that the driver receives prioritized access to CPU resources.

    The recommendation to optimise system performance to background tasks is not a myth but it is probably fair to say that it does not apply to those who are no longer running Win 2000/XP (where on single CPU systems all devices have the same IRQ).
    I would agree that other manufacturers have probably based their recommendation on the original Steinberg advice and have not bothered to confirm if it is still relevant for all users.

    It is difficult to ascertain exactly what Microsoft are referring to when they use the term "background services"
     
    • Like Like x 1
  12. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Gotcha. Basically it will need to hook into the ASIO driver for the settings but of course it's not required for playback and won't do anything to performance (but will take resources just like any app if left running).

    Yup I'd really like to get my hands on a MS knowledgebase article which covers this in full detail, they mostly don't provide enough info. Basically if I can prove that svchost.exe processes just get priority when background services are on that's conclusive proof that MS are just handing over longer time slices to Windows services. As we know windows services don't effect ASIO (that's a given). I appreciate some others find this dull or want to talk about optimization and tests elsewhere, but I'm keen to get a definitive answer, I think I'm 90% there. Certainly the evidence for it being the other way around is far less complelling. Cheers.
     
  13. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Oh and btw absolutely different. Word will not load the DLL for the printer direct, it will access the Windows print spooling service via a Windows or via some other windows middle layer. It's not a direct hook in (like DAW and ASIO DLL), it's done via Windows. So if you enabled background services then printing would get priority in this scenario (it's a windows service).

    So that's the power of ASIO, a direct hook in driver from application much like the old DOS days, faster and the OS does not interfere as much slowing it down (that's why changing priority won't work here), the diagram I posted earlier also shows this. The disadvantage of this is that if the driver is dodgy you could get bsods, windows isn't around to shut it down in a safe manner. Similar to graphics cards which also need performance.
     
    Last edited: Apr 13, 2017
  14. Joca

    Joca NI Product Owner

    Messages:
    996
    I don't think that is strictly correct. If you consider that for Win XP users with a single CPU, the advice from both Steinberg and RME (who I would suggest know a thing or two about ASIO drivers) was; "to use ASIO at lowest latencies 'system performance' has to be optimized for background tasks".

    For that recommendation to have had any effect then Win XP would have to have treated ASIO drivers as background tasks, although technically it is probably the servicing of the ASIO drivers (buffer updates) which is the actual background task.

    Now if Win XP treated ASIO as a background task I can see no reason why later Windows versions would not do the same. I think it is the introduction of MMCSS in the later versions of Windows which has invalidated the original advice. Interrupts can now be prioritized (I believe the highest setting is actually called pro audio) and the ASIO driver sets the priority.
     
    • Like Like x 1
  15. toneyrome

    toneyrome NI Product Owner

    Messages:
    248
    https://support.focusrite.com/hc/en-gb/articles/207355205-Optimising-your-PC-for-Audio-on-Windows-10

    3. Set processor scheduling to "Background services"
    This will improve the performance of your audio drivers on your computer. To do this:
    - In control panel select "system"
    - Go to "Advanced system settings" and then the "Advanced" tab
    - Click on "Settings.." under Performance to bring up the "Performance Options" window.
    - Go to the "Advanced" tab and set processor scheduling as "Background Services"
    - Click "Apply" then "OK"
     
  16. Wun Lung

    Wun Lung Guest

    Think I prefer your fake news thread..
     
  17. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    This has already been discussed, nothing to add. Cheers.
     
  18. CakeAlexS

    CakeAlexS NI Product Owner

    Messages:
    5,431
    Referring you back to here and I've been discussing how the drivers work throughout, check the diagram. If you want to compare and contrast with Word, please simply follow the process here and you will probably notice svchosts appears there isn't a direct hook into any printer DLL, much like the saffireaudiomixer, saffireaudio, and saffireaudiomixer in that picture. As I say it goes through a middle layer (Windows services).

    In regards to "Now if Win XP treated ASIO as a background task I can see no reason why later Windows versions would not do the same.":

    ... referring you back to here once again where Steinberg suggests background services may be better to use just for XP.

    The windows driver model did change from XP to Windows 7. Here's a guide to get a driver running in XP compatibility mode for Windows 7. If it hadn't changed this would not be needed.

    Regardless the ASIO driver isn't managed by Windows in the same way as other drivers, it doesn't go via svchost.exe, it's a direct hook in. I have demonstrated this. Perhaps in XP days it went through svchost.exe - not sure. Maybe that is what changed. I wish I had a copy of XP running... anyway.

    I think we looping here a little,

    I'm really out to prove this from a technical perspective here, i.e what is actually happening. I'm sure people can provide me with hundreds of recommendation quotes for background services. I am well aware about this and I'm arguing this a myth/hangover from XP days. If people want to disprove what going on please get out a copy of Windows and show me what you think is going on :). Do some tests, show some diagrams and screenshots of processes, show me MS knowledge bass articles. etc.
     
    Last edited: Apr 13, 2017
  19. b-righteous

    b-righteous Moderator Moderator

    Messages:
    9,673
    And here I thought this thread was supposed to be about MAC vs PC performance. This thread has gone beyond being useful at this point and spiraled into a side topic agenda that is just being repeated over and over.
     
    • Dislike Dislike x 1
Thread Status:
Not open for further replies.