Wednesday, August 25, 2010

Extreme Performance Optimization for a Standalone Windows XP Pro SP3 Desktop

First, apologies for posting Windows Tweaks on a Linux blog. Previously I had also attempted a few similar tweaks on Windows. But, this time the optimization tweaks are extremely paranoiac - only the strong at heart should attempt. Read on to know why ...


Because She had to do C
I was happy cruising on my good old Debian Lenny till my wify joined MCA. As a part of her 1st semester she has to do a lot of C. The University lab teaches C either on VC++ or TC on Windows. At home though my Debian desktop has a complete development tools and compilers, she is afraid to catch up with the batch, till she catches up with gcc and vi, other fellows might go ahead. That's why I thought it was better to put Windows XP Pro on another partition and install VC++ on top of it. But right after installation the greed for speed and security made me do these extreme optimization tweaks.


My objective was a standalone XP Pro installation enough to do writing programs and compiling them on VC++, do some offline reading, enjoy some music/movies. No networks. No Internet. For networks and internet we (I and my wife) prefer Debian. (Who is going to put Windows and then search for a suitable antivirus, antispyware, and all that BS? Microsoft should make it explicit on every boxed Windows that "By buying Windows you've to make other payments towards Antivirus and antispyware, to some vendors". I don't like the shoddy security of M$.)

Your objective might be optimizing your XP just for Games, Jobworks, Desktop Publishing or Multimedia manipulation. Accordingly, your optimization may change a bit.


I wanted to squeeze every bit of juice (performance) from XP. That's why I started tinkering everything - from changing BIOS settings to tweaking Windows installation and choosing right kind of software.


BIOS has some nitty options to set/control cpu/board fans, and reduce boot time. Also, you can disable all those unnecessary/unused devices and ports on bios further increasing your system responsiveness.

Windows Installation

A vanilla Windows Retail or OEM CD packs everything to satisfy the a vast diversity of machines and users. You can choose a Retail Windows copy and then use some third party tools like nlite to cut it for your requirements. Here, I used nlite to downsize XP. The result was a Tiny XP CD weighing only 150 MB, 1/4 byte size of the original XP.

User Profile and Permission

90% of users run Windows as a privileged user (administrator), because that's what Windows grants profile to the first default user. It's good for the dumb who doesn't like to do anything except point-and-click to install and configure devices and/or software. But default administrator mode brings the risk of security and reduced performance. What I believe every user should do is configure two accounts in Windows: 1st, the administrator account, and 2nd, a non-privileged user. Change the user settings (run "control userpasswords2") to make Windows boot non-privileged account by default. One can use administrator account for administrator tasks only, not for daily computing.


Make a light installation of OS and Application Software

Strip down XP using nlite. Make a minimal installation. Then choose light-weight and custom installation of application software wherever possible. For example, if reading pdf files is what you all need, you should better install Foxit Reader. There's no need to go for a jumbo pack like Adobe Reader that drastically increases installation footprint plus takes toll on your CPU.

Similarly, make a custom installation. For example, don't push in Microsoft Office and do Click>>Click>>OK. Make a custom installation of just the necessary components. I had an enterprise copy of Microsoft Office 2007 that had all the bits and pieces of a productivity suite, but installed only Word, Excel and PowerPoint; Binder, Visio, Project, OneNote and Publisher are not my stuff.

For multimedia, I could have chosen a bunch of apps like Windows Media Player 11, RealPlayer Gold, VLC, WinAmp and bla.. bla.. bla.. But, here what I all did was to install the full version of K Lite Mega Codec Pack. It has all the necessary codecs under the sun plus a sober player interface – Media Player Classic.

Disable unnecessary devices

Disable unnecessary devices also from device manager, if you could not disable them in BIOS or you just could not find the options there. To make my windows installation standalone development/entertainment desktop I disabled all the USB ports plus network adapter. I could have done the same in BIOS, but I really need them on Debian installed on the same desktop. BTW, BIOS on a dual-booted PC is common to both the operating systems. Disabling these devices makes the system a little more responsive. Visit My Computer >> Properties >> Hardware >> Device Manager, and disable all those devices that you don't need. Nothing to worry, you can enable them back when needed.

While on Windows those USB ports are still in use for charging my USB camera and mobile. Power still flows to them, but data transfer is blocked.

Compromise on Eye-Candy

Windows XP won't win a beauty pageant at the time of Windows 7, OS X Snow Leopard and Ubuntu Lucid. However, you can gain a little performance boost by changing the visual-effect settings. It won't affect the beauty of your XP. Visit My Computer >> Properties >> Advanced >> Performance >> Settings >> Visual Effects. And uncheck all effects except "Smooth edges of screen fonts" and "Use visual styles on windows and buttons".

Maintain a constant and moderate virtual memory

Windows XP service pack still thinks that you are running it on a 128MB physical memory, and be how much RAM your system really has it sets a dynamic virtual memory with a threshold of not less than 1GB and an upper limit of 2-3GB. If you are using a desktop pc for home use and have more than 1GB physical memory (RAM). You can set virtual memory to a fixed size. I've set it to 512MB only. It really helps your system to manage the memory better. Visit My Computer >> Properties >> Advanced >> Performance >> Settings >> Advanced, Select "Custom size" and put the same amount of memory for both initial and maximum size.

Disable Error reporting

I don't really see any benefit in keeping Error reporting enabled for a home computer. Visit My Computer >> Properties >> Advanced >> Error reporting, select "Disable".

Turnoff System Restore

Don't panic! Disabling System Restore results in a big speed boost and frees up much memory from the restore points. As long as you have an XP CD, you can pop in that and run rescue in case of worst mishaps.

Disable Remote Assistance

I don't how many of the home users really use Remote Assistance. Do you want somebody to remotely access your pc to fix it? If not, it makes no sense to keep it enabled. Visit My Computer >> Properties >> Remote, and uncheck both "Remote Assistance" and "Remote Desktop".

Turnoff Automatic Updates

Windows XP is almost out of Microsoft Support Cycle. M$ is aggressively pushing forward Windows 7. That means you won't get that valuable updates and patches. These days the only event you will experience is get a nagging WGA check message in case you are using a pirated XP with Automatic Updates on. So, better disable it altogether. It's good for you and your system. Visit My Computer >> Properties >> Automatic Updates, and select "Turnoff Automatic Updates"

Minimize the number of startup programs

If you really care of reduced boot times, low memory footprint and highly responsive system, minimize the number of startup services. I have let just one process "hkcmd" to run on startup. Run msconfig, click on the "startup" tab, and uncheck all that you think you don't need to run everytime on startup.

Disable unnecessary services

Search "Black Vipers Windows XP Service Configuration" on Google and visit the official site to have a thorough understanding of what the Windows XP services, and then decide on what you really need to keep enabled. Besides, the site also lists on what all services you need in three presets – Safe, Tweaked and Geek modes. You can safely choose the "Tweaked" mode of service list configurations. Below is the list of services that I keep enabled. It's perhaps the most effective of all the speed tweaks. It also reduces the memory foot print greatly. It's a must-do tweak for any speed-hungry user. Run services.msc and change your service settings after reading Black Viper's article.


After doing all these performance/security tweaks. I experienced a perceivable boost in speed, reduced memory usage and always responsible system. Now, my system boots in just 10 secs and uses a bare 90MB of memory. That means after applying these tweaks you can run Windows XP in full throttle speed in an obsolete PIII PC with as low as 125MB RAM. What more do you expect!


what I learnt today? said...

wonderful article.

what I learnt today? said...

wonderful article. Neatly written with picture guides. Keep it up.

I ahve a question...what is your view about small netbook laptops? should I buy them for browsing purpose?

Kara marie said...

As for virtual memory you should always set it to a fixed amount of atleast 4096GB. WinXP uses virtual memory regardless, and if you dont set it to a very high amount it will keep asking for more as it needs it so the kernal doesn't crash.

manmath sahu said...

Kara, hope you meant 4096MB.

How about this