I started this new Xeon-based system build at the beginning of April. I have been struggling with a number of issues related to audio dropouts. I thought, how could this be on a 12-core Broadwell Xeon with 3.0-3.5 GHz clock speed? Here are a few things I’ve learned…
Most of the tweaks from previous DAW tweaking guides still apply, but setting processor scheduling to best performance for background services seems to be outdated now as does disabling HyperThreading since Cubase 7.
Nvidia video drivers will kill you on DPC latency. I replaced my NVS 510 (not even really a 3D card) with a FirePro W4300 and that fixed that issue.
Intel NIC (Network Interface Controller) cards are not so great after driver v19.1, so if you are on Windows 10 like me, you might want to get a different vendor add-on NIC card if your onboard is Intel or just disable NIC drivers before running Cubase. I made some batch files to disable and enable the NICs with DevManView and put them on my desktop.
Install the storage drivers for your motherboard so the default Microsoft drivers aren’t running your storage. Intel RST, Samsung NVMe, whatever they may be, you need to get them from the storage controller vendor. The Microsoft storage drivers seem to add some unwanted latency to OS processes like ntoskrnl.exe and Wdf01000.sys.
Sometimes even if you disable SpeedStep/TurboBoost in the BIOS, Windows 10 doesn’t care. You can force it though. Run this at the command line… “powercfg -attributes SUB_PROCESSOR 5d76a2ca-e8c0-402f-a133-2158492d58ad -ATTRIB_HIDE” (without the quotes) and you will get a new option in advanced power plan settings. Here you can set “Processor idle disable” to “Disable idle” under “Processor power management”. This will run your CPU at full turbo on all cores all the time (but it will look like they are running at 100% load in Task Manager).
Windows 10 screws around with system clocks too much and won’t use your motherboard’s HPET (High Precision Event Timer). It uses it’s own clocks and scales that clocking dynamically (I’m guessing to make it run better on tablets). This tweak dropped DPC latency on many OS processes like ntoskrnl.exe and Wdf01000.sys dramatically. Run these three commands at an admin command prompt…
bcdedit /set useplatformclock yes
bcdedit /set tscsyncpolicy Enhanced
bcdedit /set disabledynamictick yes
These will set things back to default if your system doesn’t like them…
- bcdedit /set useplatformclock no
bcdedit /set tscsyncpolicy Default
bcdedit /set disabledynamictick no
You will need to reboot after any bcdedit.
WinTimerTester will show you if you are on the HPET if the QueryPerformanceFrequency is now ~14.3 MHz instead of ~2.9 MHz.
As with any system tweak, try these at your own risk. YMMV