Sunday, October 28, 2007

My XPerience with Vista

People talk about this new Windows, they talk a lot. What I don't buy is people who talk about it without having tested it. I had Vista installed on my computer for a while, and I liked it. But then I went back to XP. Let's see the "pros and cons" I found in Vista.

New security model:
Besides the Access Control List security, a process can now run with three different privileges: High, Medium and Low. A process is run with high privileges if it was executed by the true administrator account or a system one. Limited users (including the new limited administrator account) run processes with medium privilege level, and optionally with low privilege. The "protected mode" of IE7 makes it run in low privilege.
Of course, a low privilege process isn't able to write into a folder that requires medium privileges, and, as usual, I read a blog where some guy explained how a process could get higher priveleges without the user knowing it, and why it was possible (That is, the model isn't perfect because of compatibility reasons).
UAC is as annoying as the "run as" context menu when you run XP with a limited user. You can make it less painful (and less secure) by turning off the "secure desktop", or more painful (and more secure) by turning on an option that requires you to press ctrl+alt+del before the elevation dialog.
What I don't like about UAC is that every program named "setup.exe" asks you for elevation. What if I want to install a program with my limited user without having to elevate? I hope they solve that.

I/O priority:
This should be a good thing. In XP, if some process starts doing a lot of I/O, the desktop crawls (more so if that I/O is related to swapping and pagination). Right now, only the disk defragmenter included with Vista uses a low priority I/O, and I think that Media Player uses high I/O.

Readyboost, SuperFetch, Large Cache:
To tell you the truth, I haven't seen a lot of difference in how fast processes start comparing Vista to XP. They are just a bit faster.

I think it only affects DRM-enabled content. I don't know what's the deal with it. We should fight against DRM, not against Vista because of it.

No more Directsound 3D:
Enter XAudio? This is what I don't like about MS. They change the APIs too often.

Shadow Copy (Previous version), "Backup and Restore center" and "Complete PC Backup":
Besides the Recycle Bin and System Restore, you get three new backups (the last one in the Ultimate version), but the first one is useful as can make your file system "versionable". These are good things unless you are used to do your own backups (and I wonder if some antivirus deletes an infected file, then the shadow copy could bring it back to life?).

GPU Scheduling and DX10:
DX10 looks nice, but I think that those new features will be available in OpenGL as well. On the other hand, preemptive GPU scheduling and memory management seem like a really good idea that I haven't seen in any other OS that I'm aware of. And as it requires driver level changes, it can't be ported back to XP. So, if you have a DX10 capable GPU and want to run several 3d applications at the same time, Vista has an advantage here. I should also mention the Vista capability to reload the graphics driver if it crashes, instead of going into a blue screen.

UI, Aero and DWM:
I have to agree that Vista looks pretty, and requires more screen space. Messages errors, control panel organization and the help system are more oriented to people who doesn't know computer jargon. That's a good thing, although people coming from XP have to adapt to the new location of everything. With Aero and some programs I could made the Desktop look like a Mac.
Dreamscene was nice. The thing about using GPU instead of CPU I think it's ok. I wonder about power consumption and GPU life span though.

But, then again, I know about computers, and I am a developer. I realized that what I wanted was:

  1. Fast start-up, shutdown and fully functional sleep and hibernation.
  2. As little I/O as possible (responsiveness).
  3. A desktop focused to work.
So, what I did?
  • I made a bunch of partitions (for documents, for videos, for Windows..).
  • Then I reinstalled XP, and disabled every process I didn't use.
  • Later installed only those programs I really use to avoid registry bloat.
  • I disabled System Restore because, although it has a great purpose, I have never used it.
  • I made a ram disk with 512MB (My computer has 2GB of memory) and put the swap file on it (I never use that much of memory and Windows does move process to swap no matter how much memory you have).
And the conclusion is: Vista is good, but XP is better for tailoring to my needs.

I should tell that another reason to uninstall Vista is a political one: I dislike some choices made by Microsoft. I could also say that I could have gone to Linux, as I work primarily with Java, but that's another story.