I wouldn’t necessarily recommend upgrading to Vista at this time, because too many drivers are missing (hello, M-Audio), many applications still need updates, and, most importantly, graphics drivers seem still to be in flux, performing unreliably, slowly, or both (hello, NVIDIA and ATI).
But there are reasons to upgrade, as long as Vista isn’t the only bootable OS on your only system. Multiple systems? New computer pre-installed with Vista? Dual-boot setup? Give it a try. People love to slam early adopters, but I actually like adopting early on a non-critical system, because it means when that machine is ready for a project, I won’t be troubleshooting anything.
Now, the beginning of the bad news. Out of the box, I’ve already found significant issues that can make a system slow to a crawl, and was able to confirm some of these issues with others. Fortunately, I did find some fixes; I hope to find more performance enhancements, but these will definitely get you started by eliminating the bigger bottlenecks. And some of them are reminiscent of similar situations on XP.
Disclaimers: Vista is new. Your mileage may vary. And I’m not done; part of the reason I’m glad to do this on the Web is to get some of your feedback, and update these tips over time.
But let’s start with the easy one: fixing Aero.
Why Aero Has Gone Horribly Wrong
This one I find especially annoying. Aero, the slick, shiny new user interface for Vista, should run more reliably than the Vista Basic UI and Windows XP. Aside from looking cooler (scalable interface elements, translucency, shiny things, flying windows), the whole point of Aero was supposed to be that most of the display processing took place on the GPU, the brain on your video card, instead of your CPU. UI elements still have to be calculated to some extent on the CPU, but you place the processor-intensive elements of animation and translucency on the GPU. This should mean that UI operations interfere less with CPU operations, like producing music. It should mean fewer glitches. It should not require a high-end graphics card. Three-dimensional transformations, translucent texture blends, and even animations can all be performed by shader code on the graphics card without even involving the CPU. This was even running on mainstream Mac hardware before the release of Windows XP.
Unfortunately, two things go wrong in Vista’s UI implementation:
1. Animations make systems feel slower. This one isn’t Vista’s fault. Adding an animation can easily make systems feel less responsive, because they literally add a delay while the animation draws, before you get the effect you wanted (opening/closing menus, minimizing windows, etc.). I turn off animations on OS X wherever I can, so I’ll do it on Windows, too.
2. Aero can cause the system to crawl, even with a fast video card. And that’s, of course, to be exp– erm, what did you say? [Insert the sound of a record screeching to a halt here.]
Not all users are having this issue. But let’s say that a significant number are, and not because they have an old system or low-end video card.
My situation: I have an NVIDIA GeForce 7600 GT. It’s a more-than-ample card for Aero. It’s running the latest, Microsoft-validated NVIDIA drivers. It’s got 256MB video RAM. It can blaze through GPU-intensive games and 3D apps and pro graphics apps that are far more complex than the Windows UI. The CPU in my machine is a dual-core AMD 3800+ X2, again, quite capable of CPU-intensive work. Until you turn Aero on. Then, just running a stereo stream of audio in Windows Media Player, or simple ASIO audio mixes in FL Studio, SONAR, and Ableton Live, audio will stutter and stick if you so much as move a window.
And I’m not alone. This isn’t right. This is exactly the opposite of what should happen. And yet, it’s exactly what’s been happening to Vista users around the planet. Turning Aero on with all its visual effects seems to increase CPU load for many users, particularly if they’re using NVIDIA graphics cards. Native Instruments and PC vendor Rain Recording have both confirmed that audio performance can increase greatly with Aero turned off, possibly even independent of video cards.
Who’s to blame? That’s the hard one. Users do seem to have better luck with ATI graphics cards, at least in the area of Aero UI performance. (On the downside, a recent ATI driver update caused a rash of Blue Screens of Death and ATI seems to pale in OpenGL performance, and they’re still far behind on OpenGL and DirectX 10 implementation, so don’t rush to trade in your NVIDIA card just yet.) What this does suggest, though, is that software updates — perhaps from NVIDIA and ATI, but perhaps also from NVIDIA — will eventually fix the problem.
Here’s the amazing part: this seems to be nothing new. You can find people complaining about it in August 2006 on Channel 9, Microsoft’s developer community:
Still dissapointed [sic] with Aero performance/features in 5472
All the more interesting, not everyone was having the same results. This suggests to me a couple of things: one, the problem is specific to certain conditions and therefore some sort of fix may exist, and, two, some of these issues may have gotten frozen into the OS and/or drivers in order to make ship dates. (Okay, that’s a nice way of saying it. The other way of saying it: drivers and/or OS were a rush job.)
Can it be fixed? It’s definitely fixable. I hate to bring up the Mac example, but I’ve never seen a Mac have these kinds of issues with the UI prioritizing itself over simple CPU tasks, and the Mac has had GPU-accelerated graphics since OS X 10.0 running on far lesser hardware. Unfortunately, the press seems to be missing the Aero train wreck. Here’s the single most hyped feature of Vista and it consistently under-performs on at least one of the two biggest graphics hardware vendors. It performs in the exact opposite way in which it was supposed to perform. So, Microsoft, come on — fix it.
Tweaking Aero
Okay, now that the rant’s done, let’s see if I can actually advise how to fix all of this. (And if you are one of those people, perhaps with an ATI card, for whom this is all working swimmingly, let us know in comments.) For the rest of you:
Consider deep-sixing Aero altogether.
Vista includes an implementation of the XP-style user interface; you’ll see it show up automatically when you run an application that requires it for compatibility. If you get tired of the clunky way in which Vista switches to that compatibility mode, or if you want to see if the older interface will perform better, you can switch to it permanently.
1. Open the Control Panel. Click “Control Panel Home” if you’re in “Classic View” so we’re on the same page, so to speak.
2. Under “Appearance and Personalization”, select “Customize Colors.”
3. Select “Open classic appearance properties for more color options.”
4. Under “Color Scheme”, choose “Windows Vista Basic.” You can even opt for “Windows Standard” or “Classic” for a retro-Windows 2000 look.
Vista Basic, while it looks similar to the UI in Aero, is really just a skin on the old UI model. (It’s the only UI choice in Vista Home Basic, which skips Aero altogether.) You should find performance roughly comparable on Vista Basic and Standard, so the only choice is aesthetic. And on aesthetic grounds, I do like Vista Basic better than the hideous XP Luna theme.
But, alternatively, you can:
Turn off superfluous visual effects
I’ve found Aero can run more efficiently on its own, by disabling some of the animations and translucency. Bonus: even if you aren’t finding Aero is bottlenecking your system, some of these effects may well be annoying the heck out of you, anyway.
1. Open the Control Panel. Select “Control Panel Home” if “Classic View” is selected.
2. Select “System and Maintenance.”
3. Select “System.”
4. Under “Tasks” in the left column, select “Advanced system settings.”
5. When User Account Control prompts you, select “continue.”
6. Under the “Advanced Tab” > “Performance”, click the “Settings…” button.
7. Under “Visual Effects”, select “Custom.”
I could say something at this point about how Vista’s control panels are actually worse than XP’s, something we never thought possible. But I’ll leave you to draw your own conclusions.
Here’s what I’d suggest turning off:
- Animate controls and elements inside windows
- Animate windows when minimizing and maximizing
- Enable transparent glass
- Fade or slide menus into view (just because it’s annoying and makes the machine feel slower
- Fader or slide ToolTips into view (ditto)
- Fade out menu items after clicking (why?)
- Show window contents while dragging. (That’s one I haven’t turned off in a long time under XP; hopefully these drivers will get better and we can turn it back on. Party like it’s 1997, in the meantime.)
- Slide open combo boxes
- Slide taskbar buttons
- Smooth-scroll list boxes
The most important ones, though, appear to be animating windows when minimizing and maximizing, and, in particular, enable transparent glass. Turning off these two alone made the system far more responsive.
Note that you can also turn off the “Enable desktop composition” option, and get basically the same effect — albeit controlled on a more granular level — as switching to Vista Basic.
Vista Basic vs. “Aero Basic”
That raises an interesting question: which will work better, turning off Aero entirely and opting for Vista Basic, or just disabling the eye candy and leaving Aero (desktop composition) on? Certainly, going with Aero provides a much smoother OS experience. With Vista Basic, you lose not only the spiffy Flip 3D interface for switching apps (which, okay, many people can’t stand), but also useful features like window previews in alt-tab. More importantly, switching to Vista Basic gives you some of the same on-screen refresh glitches as XP had. I seem to be having some luck with Aero Basic and no effects, but I still have some issues — resizing images in Windows Photo Gallery, for instance, causes audio playback issues. (Don’t ask.)
My guess is that Aero will be the way we’ll go in the long haul. For now, since there’s not enough data, I’d recommend experimenting, using Aero with everything on as a “control”, but experimenting primarily with Aero “Lite” versus Vista Basic.
Final Tip: Don’t Touch Anything
Okay, that’s a little silly, but suffice to say that because the graphics systems seems not-so-optimized, avoiding anything else UI-intensive is a good idea. For instance, I found FL Studio 7 would have issues if its auto-scroll playback was turned on. This can happen on any system, but it does seem slightly exaggerated in Vista, at least with my current display setup and drivers. Solution: turn off FL Studio’s own eye candy (like glass effects), stop it from moving things around (consider turning off auto-scroll), and then don’t touch anything while playing (which you probably wouldn’t do, anyway).
But generally speaking, just avoiding minimizing windows and such while you’re playing doesn’t seem to be the only issue. Hands-off benchmarks with Aero versus Vista Basic or even my “Aero Lite” configuration suggest the UI is pulling resources
Hopefully, we’ll see a string of updates that erases the memory of this forever. Even then, I’ll be glad to turn these other effects off on a granular level for their annoyance factor. (And I am glad that at least Microsoft gives you the option, even if it’s buried in layers of dialog boxes.)
We’ve got more tips coming, but Vista users, do share what you’ve experienced — I wouldn’t be a bit surprised if it’s different from what I’ve seen, given the number of variables.