Monday, June 22, 2015

Building a New Computer for Music Production (June 2015 Edition) Part 2

This is the second article about my new Haswell-E-based Digital Audio Workstation PC. In part 1, I covered the part list, hardware assembly, and BIOS settings. In this post, I'll talk about my choice of operating system, which drivers I used (and where to find the right ones), OS and BIOS tweaks, and the performance of this computer, as compared to my previous DAW PC.

CHOOSING AN OPERATING SYSTEM

I chose to install the 64-bit version of Windows 7 Professional on this system. I prefer the Professional SKU of Windows 7 because unlike the Home versions, it includes the ability to operate as a Remote Desktop server, but it also doesn't include all the extra bloat that the Ultimate SKU brings with it. (The Pro versions and above also allow access to more than 16GB of RAM.)

As a professional software developer, I've programmed for every version of Windows since 3.1. I'm intimately familiar with Windows system internals, and I normally start programming for new Windows versions even before public tech preview editions of them are released (we get early builds directly from Microsoft). Even though my job requires that I use Windows 8 and Windows 10 on a daily basis, I still usually prefer Windows 7 for home use. Here's why:
  • There's not a single new feature in Windows 8 (or 10) that I need in order to make music or perform my day-to-day computing tasks. Not only do I have no use for touch controls on a desktop, the Modern UI, or Microsoft's anemic Windows Store, even with Start button replacements like ClassicShell, Windows 8 made some tasks that used to be really trivial on Windows 7 (like restarting Windows in Advanced mode- something that I have to do quite frequently as a developer) much more onerous and complicated. Also, many elements of the user interface provide less information than in previous operating systems; they've streamlined the UI to the point of opacity.
  • Windows 7 provides better compatibility with the software and devices I already own. Since Windows 8's official release, I've purchased six different off-the-shelf computers for home use. In each case I initially tried to use their preloaded Windows 8 installs, but I encountered incompatibility problems with several games, utilities, and devices that forced me to reformat four of those computers and install Windows 7 instead. (Two of those six computers are still running Windows 8 with no problems.) I have experimented a fair amount with Windows 8 for music use, and while I did encounter some driver-related issues with audio interfaces when it was first released, I have never had any showstopping problems with Windows 8 when it came to my music applications or devices (so long as the drivers were Windows 8-ready).
  • Windows 8 does not improve music production performance. I have conducted numerous benchmarks between Windows 7 and Windows 8 on the same hardware and found that on average, Windows 8 performs about the same as Windows 7. (You can see the results of my most recent test in my article about the Intel NUC, under "Windows 7 versus Windows 8.1.") In some cases it's a tiny bit worse, in some cases it's a tiny bit better. But there is definitely not an across-the-board improvement in any measure of computer performance that I have seen. Yes, Windows 8 can boot faster and launch applications faster than Windows 7 on the same hardware, but it simply does not improve DAW performance in any measurable way. I do not expect that to change with Windows 10.
This is a personal choice that's based on my own real experiences with software and hardware on both Windows 7 and Windows 8. I use Windows 7 because I know it works, and I know I'm not missing anything by avoiding the newer operating systems.

SO, WHICH OPERATING SYSTEM SHOULD YOU USE?

This is entirely up to you. Most modern music apps that I'm aware of work properly on Windows 8, and most newer devices have drivers that should work in that environment well. If you know your apps and drivers are compatible and you like the new features Windows 8 includes, go ahead and use it. It's fine.

OPTIMIZING WINDOWS 7

I've seen a lot of guides on how to optimize Windows for music production, and many of the tips these things provide are outdated, irrelevant to music production, or sometimes just plain wrong. For Windows 7 and later, there's actually very little you have to do in order to make your DAW PC production-ready. Here are the only performance tweaks I ever make:

USE THE HIGH PERFORMANCE POWER SCHEME

Select the High performance power plan in the Power Options control panel of Windows. (It might be hidden when you first open the control panel. Click the arrow next to Show additional plans to reveal it.) This power scheme includes a number of hidden performance tweaks that aren't exposed in the Windows UI. In other words, you can't, for example, take the Balanced plan and edit it so that it exactly reproduces the behavior of the High performance scheme. This is the single most important Windows setting you can change to ensure stable music-making performance.


DISABLE UNNECESSARY WINDOWS STARTUP ITEMS

After you've installed all your required drivers and applications, you'll probably have a number of unnecessary task tray programs and background processes starting up. The fewer of these things running at any time, the more juice your system has to devote to delivering reliable audio.

Windows 7 has a built-in System Configuration tool (just run msconfig from the Start menu) where you can uncheck undesired programs from the Startup tab. You can see below that among other things I disabled the Intel(R) USB 3.0 Monitor (iusb3mon.exe). That process doesn't do anything essential.


DISABLE UNNECESSARY WINDOWS SERVICES

I usually leave all the default Microsoft/OS services alone, but lots of applications and devices install Windows services that you don't necessarily need. You can use msconfig to disable these, too. What I like to do is open msconfig to the Services tab and check Hide all Microsoft services, so only the third-party ones are showing. Then I sort the list by the Status column and uncheck any services with the status of Running that don't seem to serve any essential purpose. If you see "Stopped" services that you haven't explicitly disabled, that usually means they're not set to load automatically when Windows starts, and instead will only be used as needed by their associated applications. I generally just leave these be.


USE A LOW-IMPACT ANTI-VIRUS

If your computer has an Internet connection or you ever plug in USB drives that have had contact with other Internet-connected computers, you MUST have some kind of anti-virus installed. It is no longer true that simply being a tech-savvy computer user is enough to protect your computer from infection. There are just way too many attack vectors these days.

So which package to choose? For Windows 7, I use Microsoft Security Essentials. It's free, it's updated regularly, and it is nowhere near as obtrusive or bloated as many consumer alternatives. For a commercial solution, many music producers swear by ESET NOD32 Antivirus. It's not very well-known in the United States, but it is well-regarded both for providing solid anti-virus protection, and also for having a small system footprint.

Do NOT install consumer versions of any Symantec/Norton or McAfee products. They do their jobs, but they are much more intrusive, usually trigger a lot more needless warnings and notifications than other products, and simply don't allow your PC to perform as well as it would with other solutions. Both of these companies make enterprise solutions that are much better behaved.

Note: Windows 8 and beyond don't really need a third-party Antivirus. Windows 8 has Microsoft Security Essentials built-in, although it goes under the name of Windows Defender in that operating system. Windows 7 also has a "Windows Defender" feature, but it is not as comprehensive as Microsoft Security Essentials or the Windows 8 version of Defender.

DRIVES AND FOLDERS

All of my drives are configured with just a single data partition, and all SATA drives are configured to run in AHCI mode (so no RAID), and the Intel 750 series drive is NVMe. I do not split my drives up into multiple data partitions, since doing that doesn't provide any performance or data safety benefits.

I had a three-drive setup in my previous DAW PC (all using traditional SATA hard disks) that looked like this:
  • Drive 1 (2TB): OS, Data, and Applications. Unlike some music folks, I did choose to use my system drive for all personal files, including music projects. It worked fine.
  • Drive 2 (2TB): Samples and Downloads. This is where all sample libraries and things like Reaktor and Kontakt instruments went. Additionally, my Downloads folder is where I keep all purchased software and patches, so it is enormous.
  • Drive 3 (2TB): Backups. I have wasted a LOT of time and effort evaluating different backup packages and approaches, and I have yet to find a commercial backup product that works to my liking (if it works at all). I ended up writing custom backup batch files that run every day via the Windows Task Scheduler, and I set this drive up as a compressed Windows drive (with the "Compress this drive to save disk space" option) to increase its backup potential.
This layout worked fine, but I had a couple of complaints about it that I wanted to fix when I set up the new computer. I also had some physical constraints, due to the small storage capacity of my SSD drives. So here's how I decided to set up the new system:
  • Drive 1 (400GB PCIe SSD): OS and Data. This drive only contains Windows, my personal files/projects/etc, and any applications with crappy installers that don't let you pick a custom install location.
  • Drive 2 (480GB SATA SSD): Programs and Plugins. I never disable Windows User Account Control, because I like being notified when processes are requesting admin access to my machine. A drawback to leaving UAC enabled, however, is that it causes poorly-written software that doesn't follow Microsoft's design guidelines (which they have recommended ever since Windows XP) tries to save preferences or other data under the Program Files folders it fails (sometimes silently, or with misleading errors). This goes for plugins as well, since the default install location for many VST plugins is C:\Program Files\VstPlugins. By sandboxing all my programs and plugins to their own drive, I'm working around the limitation of their bad design by placing them into folders that won't trigger UAC alerts, but I'm still getting the general system protection that User Account Control offers.
    Here's what the root of my Programs and Plugins drive looks like now.
  • Drive 3 (2TB SATA HD): Samples and Downloads. (Same purpose as on my other DAW PC.)
  • Drive 4 (3TB SATA HD): Backups. Compressed drive, same as before. Since this drive exceeds 2TB in size I had to use GUID Partition Table (GPT) layout instead of Master Boot Record (MBR) when setting the drive up. More on this in the note below.
  • Drive 5 (500GB SATA HD): This is just an extra drive I was using as an alternate boot drive when troubleshooting some problems with my setup. It is a 2010 model WD Caviar Black versus my other two WD Black drives, which are brand new. I don't have any immediate plans for this drive.
A NOTE ABOUT VERY LARGE DRIVES (OVER 2TB)

The default partitioning scheme for Windows 7 is MBR, which effectively has a 2TB limit for any individual partition. Because I wanted my 3TB WD Black drive to have only a single data partition, I chose to use the GPT scheme when setting up the drive. All editions of Windows 7 and later support using GPT for data drives, but in order to boot from a GPT drive, you need a 64-bit edition of Windows and a computer with UEFI support.

Note that the partitioning scheme is different from the file system; all my drives are formatted with the NTFS file system, regardless of whether they use MBR or GPT partition types.

DRIVERS

Locating the right versions of the right drivers for this system took quite a bit of time. Here are some notes I collected during the process.

Please note: The following information is accurate as of June 21, 2015. You may have to double-check the versions and driver locations as time progresses.

DRIVERS: INTEL CHIPSET DEVICE SOFTWARE (INF UPDATE UTILITY)

Like with any fresh Windows installation, the Intel Chipset installer should be the very first thing you install. The version at the Intel Download Center is newer than what's currently at the ASUS site or on the ASUS X99 Series disc. I got version 10.0.27 of the chipset installer (SetupChipset.exe) from here. Reboot after installing this one.

DRIVERS: UNRECOGNIZED DEVICES IN DEVICE MANAGER

After running the Intel Chipset installer, you will probably still see a number of unrecognized devices in the Device Manager control panel. Here are the ones I found, along with which drivers fixed them:
  • Corsair Dongle. This is the USB Dongle for the Corsair AX860i power supply. Install the latest Corsair Link software to get the correct driver. You may have to restart Windows before this device shows up correctly in Device Manager.
  • Ethernet Controller. This is the Intel(R) Ethernet Connection I218-V device on the ASUS X99-A USB 3.1 motherboard. The latest installer packages for Windows 7 are at the Intel Download Center. I installed version 20.1 of the PROWinx64 package from here. Note: Whenever I install Intel network drivers, I always uncheck everything except the driver itself. Windows generally has all the network management tools I need.
  • C610 series/X99 chipset xHCI Host Controller (8D31). For this you need to install the Intel USB 3.0 eXtensible Host Controller Driver for Intel 8/9 Series and C220/C610 Chipset Family. I used version 3.0.5.69 from here.
  • PCI Simple Communications Controller. This is the Intel Management Engine Interface. Strangely enough, I couldn't find something that looked like an appropriate match for my board at the Intel Download Center, so instead I installed the Management Engine Interface entry from the Drivers tab of the ASUS X99-series disc. Windows Update can install a newer version of this driver once you install the ASUS one.
  • USB Controller. This might only show up for the USB 3.1 version of ASUS boards. It's the ASMedia USB 3.1/3.0 controller. NOTE: As of this writing, the version of this driver on the ASUS disc is actually newer than the one available at the ASUS downloads page for this motherboard. I installed the one from the disc. "Asmedia USB3.1/3.0 Driver" from the Drivers tab.
  • Unknown device. If you see something just listed as "Unknown device" it could be lots of things, but if you look at its properties and see that its Hardware ID is ACPI\PNP0A0A, then that's the "AMDA00 Interface" device that ASUS uses for some of their software. You can install this driver by picking ASUS Probe II Sense Driver from the Drivers tab of the ASUS X99 series disc. I think I had to reboot Windows after installing this in order for the driver to take effect.
OTHER DRIVERS
  •  The Intel Download Center had a more recent version of the driver for the SSD 750 Series drives than the one included on the mini disc that shipped with the drive. You need the disc for installing Windows 7, but once Windows is fully installed, you'll probably want to get the most recent version of the Intel Solid-State Drive Data Center Family for PCIe drivers from here.
  • For my GTX 960 graphics card I had to download the GeForce 900 Series driver from NVIDIA's downloads page.

STORAGE BENCHMARKS

Although I've had a couple of laptops and a mini computer with SSD drives, my new DAW PC is my first-ever desktop with SSD storage, and I was eager to see how much of an improvement my new drives delivered compared to traditional SATA hard disks in the same PC. I used the 64-bit version of CrystalDiskMark 3.0 (latest official version is 4, but you can still get version 3 here) to test each drive installed in my system.

CrystalDiskMark performs both read and write tests of four different types:
  • Seq: Sequential read/write with 1024KB blocks.
  • 512K: Random read/write with 512KB blocks.
  • 4K: Random read/write with 4KB blocks.
  • 4K QD32: Random read/write with 4KB blocks and a queue depth of 32. (This uses Native Command Queuing to test how well optimized the drive is.)
Here are the compiled results for all drives installed in my system:


It does appear that I picked the right drive for my boot device! My 400GB Intel 750 Series PCIe SSD drive scored from 10 to 831 times faster than my slowest traditional hard drive, depending on the test, and it scored from 1.4 to 14 times higher than my 480GB Intel 535 Series SATA SSD drive. This thing is fast.

SYSTEM BENCHMARKS

To assess my new computer's performance, I looked at three different things:
  • Windows Experience Index: This is the built-in computer rating system in Windows 7. The idea was to judge a computer's suitability for running Windows 7, and it performs tests on CPU, RAM, graphics, and storage. The Experience Index has an artificial cap of 7.9; no single metric measured on a computer can receive a score higher than 7.9. (Microsoft raised the cap in Windows 8, but they also decided to hide the Experience Index from the Windows 8 user interface, for some reason.)
  • DAW Bench (Cubase tests): DAW Bench is a suite of DAW projects designed to push a DAW PC to its DSP limits. There are two projects that use Native Instruments Kontakt to detemine a computer's maximum polyphony, and there are also a series of DSP tests which load huge numbers of specific plugins to see how many simultaneous instances you can run. I ran two Kontakt tests, one using Kontakt's convolution reverb (with CV) and one without reverb (no CV). The DSP test I ran uses the Cockos ReaXcomp compressor plugin.
  • Passmark PerformanceTest: PassMark PerformanceTest 8.0 is a large suite of performance tests that test many aspects of PC performance, from CPU and RAM to graphics and even UI speed. While it produces very detailed test results, for simplicity's sake, I just recorded the overall "PassMark Rating," which is a combined total of all test results.
The two systems under test were:
On the old computer (Antec P183), SpeedStep/EIST, C-States, and Turbo Boost were all disabled. On the new computer (Antec P280), all features were enabled. I didn't make any explicit overclocking tweaks to either computer, so the following just represents baseline performance.
DAW PC comparison. Higher scores are better.
As you can see, once you reach a certain point the Windows Experience Index isn't very useful for measuring a computer's performance. It does its job of indicating Windows 7 suitability, but doesn't give any hint to the true scope of the performance differences between these two machines. My 2010 DAW PC was a very fast computer when I first built it, and the GTX 570 graphics card was a top performer the year it was manufactured.

The true differences become much more clear when we look at the DAW Bench scores. On average, the new computer was able to support nearly three times as many simultaneous plugins or notes of polyphony as the older PC.

The results of the PassMark tests were similar, with the new computer's overall performance rating 2.4 times that of the older system.

Note: The DAW Bench tests were all done with 64-bit Cubase 7.5.2 and a Roland Duo Capture EX USB audio interface, at 44.1kHz/288 samples. I have also used my MOTU Track 16 (USB) and RME FireFace UFX (FireWire) on this computer with excellent results.

OPTIMIZING CPU PERFORMANCE

Back in the Bloomfield days (i7-920, i7-950, etc.), there were a number of common processor tweaks that usually led to better, more reliable audio performance on DAW PCs. Disabling the EIST (Enhanced Intel SpeedStep Technology) and "C-States" power management features led to the biggest gains, while disabling Turbo Mode could stabilize performance, improving the reliability of audio streams. Some folks even disabled Hyperthreading since it can sacrifice a little bit of a core's performance, which isn't necessarily desirable if you're working with software that doesn't utilize multiple threads.

Well, those days are over.

As CPUs have evolved, so have their supporting technologies, and all of the things we used to automatically turn off now either don't harm audio performance, or, in some cases, even improve it. I performed the ReaXcomp/RXC DAW Bench DSP test on my new DAW PC, first at the BIOS defaults (with all of the aforementioned features enabled), and then with each individual feature disabled. I did not do any tests with combinations of the features disables; I only tested them one-at-a-time. This test measures the number of live instances of the Cockos ReaXcomp compressor plugin could be enabled before the audio stream broke down.

Note: All tests were performed with the High Performance power plan selected.

Higher scores are better.
As you can see, disabling EIST and Turbo Mode had no effect on the results (indicating that both of these features allow your computer to reach its full potential when needed), and disabling the C-States had a very slight negative effect. Disabling Hyperthreading, however, had a huge negative impact. Don't do that!

So, at least with the Haswell-E processor family, it looks like this is the current recommendation:
  • EIST/SpeedStep: Enabled
  • Turbo Mode: Enabled
  • C-States: Enabled
  • Hyperthreading: Enabled

CONCLUSION

I don't want to admit how much time I put into building this computer. I'm very pleased with the results, though, and confident that this thing will last me another five years like my first DAW PC did. I sincerely hope that some of the information I've provided in these two posts is useful to someone. Goodness knows it took a lot of research and trial-and-error to figure out.

I haven't looked into any hands-on overclocking procedures, but I imagine a skilled and patient person could wring even more performance of a computer composed of the same parts with the right tweaks. If you're brave enough to try it, I'd love to hear what you did, and how things turned out.

But for now, enjoy and rock on!

1 comment:

HookTink Furrble said...

Well, I am assembling a very similar Asus99A/3.1 machine and coming off of my current PC also similar to yours. I'm waiting for one more box of parts that are scheduled for Mon. delivery. No matter how much info. one has about projects like this it is never enough. "And the road goes on forever and the party never ends". A Robert Earl Keene song.
I don't want to admit how much time I put into building this computer. I'm very pleased with the results, though, and confident that this thing will last me another five years like my first DAW PC did. I sincerely hope that some of the information I've provided in these two posts is useful to someone. Goodness knows it took a lot of research and trial-and-error to figure out.
Thank you for your willingness to post your results as this will save me some of the same trials as I have an astounding # of hours involved so far. But the rewards are priceless!
A music guy huh?
Sincerely,
Walt Prill