|The peculiar case of terrible Office performance in Boot Camp|
|By Thom Holwerda on 2016-11-15 00:20:25|
Here's a short little tip with some interesting background information. If you are running Windows on your Mac - like I'm doing on my 2015 retina MacBook Pro because macOS is far too unoptimised to run on it - and it's using an Intel graphics chip, be sure to replace Apple's own Boot Camp graphics drivers with Intel's own latest drivers.
The reason why you should do this is kind of fascinating. I noticed that while Windows as a whole ran quite fast and snappy - much more so than macOS with its crappy responsiveness, FPS drops, and hangs, even after reinstallations - two applications had responsiveness issues: Chrome and Microsoft Office. With Chrome, I chalked it up to #justchromethings and moved on. With Office though, I was perplexed.
The past few versions of Office, including the current one, are fast, snappy, and instant. The days where Office applications were slow and cumbersome are long gone, even on lower-end hardware like the 2015 retina MacBook Pro. However, Office applications were slow, rendering was terrible, and things like dragging and resizing Office windows was literally a slide show - and I wanted to know why.
I found out that on Windows, Microsoft Office uses its own rendering pipeline (framework? I'm not really sure what the accurate terminology is here), different from both Win32 and Metro applications. As it turns out, Office does its own check of the video card and driver to determine if hardware acceleration for Office should be disabled or not.
By default, hardware acceleration is automatically disabled in Office programs if certain video card and video card driver combinations are detected when you start an Office program. If hardware acceleration is automatically disabled by the program, nothing indicates that this change occurred.
Well, except that Office now runs like a total dog, of course.
Apparently, the Office team maintains its own list of video card/driver combinations and keeps this list a secret.
The list of video card/video driver combinations that trigger this automatic disabling of hardware graphics acceleration is not documented because the list is hard-coded in the Office programs and will be constantly changing as we discover additional video combinations that cause problems in Office programs.
When I ran the Intel Driver Update Utility on my retina MacBook Pro to determine if the Apple-provided Intel graphics driver was up-to-date, the tool found a newer driver, but warned me that my OEM (Apple) had modified the already-installed driver, and that I would lose those customisations. I proceeded to download the new driver anyway, only to be hit by a very peculiar dialog upon trying to install the driver Intel told me was newer than what I had installed: the installer warned my I was installing an older driver than what I had installed.
So, I decided to download the latest driver (the latest beta) manually, installed it, and this fixed not just Office, but also Chrome - which I find particularly baffling (maybe Chrome maintains a similar list?).
The list that the Office team maintains is not of good drivers, but of bad drivers. For Office's hardware acceleration to fail, the driver needs to be on the list. This means that the combination "Apple-modified Intel graphics driver/Iris 6100" was, at some point, added to the list, triggering the disabling of hardware acceleration for Office. The combination "Intel's own graphics driver/Iris 6100" is not on the list.
There's a number of possible explanations here, and I'm not really sure which one makes the most sense. Apple cares too little about Boot Camp users to intentionally cripple the Apple-supplied Intel drivers, so that's definitely not the cause. I also don't think the Intel driver magically improved a ton in the span of just a few weeks (there's only a few weeks of difference between the two versions, but I'm not trusting version numbers here) - but maybe it did? I honestly don't know. It's Intel's beta driver that isn't even signed by Microsoft, but somehow, the Office team tested it and removed it from their list? My first instinct was to think that because Apple had modified the driver, it wasn't on Microsoft's list - but since the list is for bad drivers, that makes no sense.
The most logical explanation I have right now - suggested by Steven Troughton-Smith - is that Apple changes a few things in the Intel driver to optimise Windows' battery life, which in turn tune down the performance, causing the Office team to add this specific driver/video card combination to the list. I've been keeping an eye on battery life since installing the driver, but haven't noticed much of a difference.
I don't think this little tip will be useful for a lot of people, but I really enjoyed trying to figure out what was going on.