Jun 01

Any operating system that contains the letters B, S and D usually conjures images of geeky elitism, arcane interfaces and the undead world of UNIX. Despite its similarity, this is an image Linux has largely been able to shake off, thanks to its friendly graphical installers and configuration tools. But BSDs can offer a unique insight into what has made Linux popular, as well as an opportunity to hone your command-line and trouble shooting skills in a world that might be getting too easy. And while you do need a little technical confidence to get any BSD system up and running, it’s not half as difficult as it first appears.

FreeBSD is not as demonic as its logo might suggest. Honest.

FreeBSD is a the most popular implementation of version 4.4 of the Berkeley Software Distribution. This was the original BSD, a version of UNIX that was developed between the late-70s and the mid-90s and used a famously liberal licence. This licence has meant that anyone can use, copy and redistribute and re-implement its code and APIs. Which is exactly what FreeBSD attempts to do, alongside other projects like OpenBSD and NetBSD. In turn, there are many projects like Apple’s OS X that build upon the foundations in FreeBSD, all thanks to the liberal licences of the original.

Step 1: Prologue

There are several important differences between FreeBSD and Linux, but the most fundamental is the kernel. The term ‘Linux’ is most often used to refer to the entire operating system, from the boot code and drivers to the desktop and the applications. We’d call Ubuntu, Fedora and OpenSUSE different versions of Linux, for instance. But this definition isn’t accurate. ‘Linux’ should only really refer to the kernel – the chunk of code at the heart of the system that deals with hardware, networking, drivers, storage, CPU and process management, and the BSD kernel is entirely different.

The Linux kernel that was originally developed by Linus Torvalds, and it’s still the only part of the whole operating system he has control over. The remainder of what makes a complete operating system, the windowing environment, the desktops and the applications, are pulled from open source project that are mostly using one of the the GNU Public Licences. Hence, the official name for the entire Linux operating system is really GNU/Linux to show that there are two parts of the whole project. Which is why replacing the kernel isn’t a trivial operation.

Don’t be scared of text mode. It’s part of Linux’s legacy, and serves a very useful purpose.

Any new kernel needs to be broadly compatible with Linux so that the remainder of the software stack can be ported without too much difficulty. Fortunately, both FreeBSD and Linux are UNIX-alike, which means there are many similarities, and the result is that with a standard installation, you’ll find many of the tools you’re already familiar with, albeit in a different configuration.

Many system administrators feel FreeBSD is has been a more stable choice for servers over the years, and that it can out-perform its cousin on certain tasks. It’s also a great choice if you want to run a server on limited hardware, as the requirements for a BSD-based system are often less than for the Linux equivalent. FreeBSD, for example, lists its minimum requirements as a 486 CPU with 24MB RAM, which is quite staggering in today’s world of terabytes and quad core processors. FreeBSD is also a i386-based platform. There are ports to other processors, but the project’s focus has always been compatibility with Intel’s standard architecture, and as a result, could be better suited to the majority of machines that parts of the Linux kernel.

Step 2: Installation

While there are Live CD versions of FreeBSD, the traditional install disc is still the most common medium for getting hold of the latest version. But you’ll need to steel yourself against its antiquated installation mechanism.

When you boot your machine with the disc in the drive, the first thing you’ll see is the black and white ASCII art of the install menu. You won’t see any other graphical embellishment until you’re able to boot successfully into a working desktop. For most installs, you’ll need to choose option 1 from the menu, but if you’re using an older machine, you may want to try 2 (with ACPI disabled) to avoid any potential problems.

Unlike trial Linux installation packages like Wubi, installing BSD has a tendency to be destructive. Make sure you’re not going to obliterate anything important before continuing.

You’ll then have to wait a few moments while various kernel messages scroll by before you’ll see the text-based installation and configuration screen. If you’ve used Debian, this kind of text installer will feel familiar. There’s no linearity to the install process. You can move backwards and forwards through the various options, and continue to make adjustments to the installation until you quit the installer and restart the system.

For a basic, working environment, you will need to do at least the following. Select the second option in the menu to initiate a ‘Standard Install’ and read the information on the screen that follows. The next page displays ‘fdisk’, the disk partitioning and formatting tool. Press F1 for documentation, but if you’re using your entire hard drive for this installation, press ‘a’ to select everything, followed by ‘q’ to apply the changes. This will delete everything currently on the drive, so be careful.

The next page will ask if you want to install a boot loader, which is the menu that lets you choose between whatever operating systems you have installed. Choose the second option (BootMGR), and on the following page, you need to create the various partitions used by FreeBSD using the same fdisk-like interface we’ve just seen.

Once again, if you’re using an entire drive for the installation, you can just press ‘a’ to let the installer create the most appropriate array of partitions followed by ‘q’ to make the changes permanent.

The next page will ask you to choose a distribution. Unlike a Linux distribution, FreeBSD uses the term to refer to the default selection of packages that are to be installed. Select ‘Custom’ and add ‘base’ and ‘kernels > GENERIC’ to your installation.

This will give you enough package to get a working system, and we’ll need to add the desktop environment at a later stage. Return to the ‘Exit’ option at the top of the list and press space to jump into the package installation routine.

Step 3: Post-Install

After all the preliminary configuration has completed, you’ll be asked whether you want to configure any Ethernet or SLIP/PPP devices. Select ‘Yes’ if you are connecting to the internet through your machine’s ethernet port, and you should see your adaptor listed in the top of thew connections list. Choose the adaptor, say no to IPV6, say yes to DHCP and skip through the configuration page to the OK button. Say ‘no’ to your machine being a network gateway,’no’ to enabling any inetd services or running SSH, FTP and NFS server and clients, and don’t edit the console settings. You can safely setup a timezone for your machine and enable the PS2 mouse emulation if you’re using one.

Don’t worry too much about your initial selection of packages. You can easily add more later.

Say ‘Yes’ to the next question, and you’ll now be looking at the package manager. This is where you choose what applications you want to be installed on top of the default option we chose earlier, and there are thousands of packages to choose between. For a simple setup, jump into the ‘x11’ menu and select the ‘kde4-4.3.1′ package. It’s exact name will depend on the version of FreeBSD you’re playing with. If you’re not a fan of Gnome, you could also choose ‘gnome2-2’ from the same list of packages. Selecting either will also mark their dependencies for installation. You also need to select xorg-7, and any other packages you know you’re going to need.

When you’re ready to go, jump back to the top package list, select ‘Install’ and press space. You’ll need to wait a while for all the packages to install. The next step is to create a user account. You can do this by saying ‘Yes’ to the option, then selecting ‘Add User’, and entering a user name in the page that follows. Select OK to make the change permanent and exit from the users and groups menu. You’ll then be asked for the system manager’s password, and you’ll need to type this twice.

After that, you can say ‘No’ to the post-install configuration request and wait for your machine to reboot. You’re now at the point where you should have a basic, working installation, and you can quit from the installation menu and restart your system.

Step 4: Configuration

When your machine re-appears, you’ll be greeted by the sombre monochrome of the command line. Login as ‘root’ with your system manager’s password. For both Gnome and KDE, you need to add the following two lines to the ‘/etc/rc.conf’ configuration file:

dbus_enable="YES"
hald_enable="YES"

Unfortunately, you’re going to need to use the ‘vi’ text editor. Type ‘vi /etc/rc.conf’ to load the file. Press ‘i’ to enter insert mode, move to a new line and type the following. Press escape to exit insert mode, followed by ‘:wq’ (without quotes) to save the changes and quit the editor. Next type ‘reboot’ to restart your system.

FreeBSD doesn’t come with a desktop activated by default, but it’s simple enough to change.

When you get back to the login screen, enter your user account details this time, and when you get dropped back to the command line, type ‘vi .xinitrc’ and add the following line to the file:

exec /usr/local/kde4/bin/startkde4

This is telling your system that when the X.org graphical system starts, you want KDE to be used as your desktop environment. Save and exit vi.

Step 5: Launch Desktop

Usually, at this point, you need to create an ‘xorg.conf’ file to define the display properties for your machine. But recent releases of the X server are able to create a working configuration without any further editing. Which means typing ‘startx’ is all you need to do to launch a graphical environment running KDE. If this doesn’t work, then you will need to create create a working /etc/X11/xorg.conf file.

But with FreeBSD 8, it’s more likely that you are now looking at KDE running through its Akanadi porting routines as it builds up a configuration for your desktop. After a couple of minutes, this will leave you with a KDE desktop running on-top of FreeBSD, and you’ve just earned another trophy for your awards cabinet.

At long last: a GUI! And one of the more stable interfaces you’ll find. Here’s hoping BSD serves you well.

This is exactly the same KDE you’ll find on Linux, and you’ll be hard pressed to find any difference between the way it works on FreeBSD and the way it works with Kubuntu. It’s only when it comes to system configuration that you’ll notice because FreeBSD doesn’t have any graphical configuration tools, which means if you need to change anything, you’ve got to be prepared to go back to the command line. But that’s another story.

See also: PC-BSD 8.0

If you’ve followed the main text to install a shiny new version of FreeBSD, you might have noticed that the install mechanism really wasn’t all that shiny or new. It reality, it feels ancient. But this doesn’t mean that the operating system has been languishing unloved and undeveloped, it just means that making the installer easier to use is low on the priority list.

Fortunately, this being open source, demand for a better way of doing things has led to several alternatives, the best of which is PC-BSD, which you’ll find at www.pcbsd.org. It does several impressive things. Firstly, it replaces the tepid monochrome installer of FreeBSD with a graphical application much-more in-line with its Linux counterparts. It will also automatically install and configure a recent version of the KDE desktop, which should mean you can get productive with a FreeBSD system as quickly as possible, without touching the command line, and there’s a wonderful wiki full of helpful documentation.

This means you can install PC-BSD by placing the disc in the drive, rebooting your machine, answer the questions that appear and wait for the operating system to install. You won’t even need to worry about manually partitioning your drive unless you want to create a custom configuration.

Another important difference is that it PC-BSD doesn’t use the same package management as FreeBSD, although you can still get to it if you need to. Instead, package are available as single files with the ‘.pbi’ file extension, which can then me installed with a simple click. It’s more like how packages are handled on OS X, and is far better than the weird world of dependencies you find on Linux.

May 27

Read on to find out how just tweaking two configuration settings almost tripled our Crysis frame rate.

Nothing is quite as demanding on your system as a cutting-edge game. To get playable frame rates you’ll generally need lots of fast RAM, a powerful graphics card, a decent CPU and a speedy hard drive. But if your PC isn’t quite up to scratch, don’t give up immediately – there are a few tweaks you can apply that may improve things.

As we’ve already mentioned, detecting and removing resource-hungry processes, freeing up RAM and keeping your hard drive defragmented and optimised will make a real difference.

Updating your video drivers can deliver even more benefits. For example, Nvidia claimed that its 195.62 release would increase performance by 10 to 20 per cent in many 3D games, as well as by 38 per cent in Far Cry 2, and by up to 80 per cent in Lost Planet: Colonies. Impressive? Yes, but unfortunately the driver was soon withdrawn because users were reporting that their cards were overheating, so updating on the day of release probably isn’t the best idea. Stay aware of what’s going on, but let others try out new drivers for a couple of weeks before you jump in.

In the meantime, you can always get an immediate speed boost by overclocking your video card. It’s surprisingly easy.

Overclock your card

Launch the Display Settings applet, click ‘Advanced Settings’, choose your display adaptor’s tab and fire up its control panel. If this is an ATI card then you should see an Overdrive section with sliders for GPU core and memory clockspeeds; Nvidia cards have the same, and add a Shader Clock slider for good measure. (Don’t see that? Make sure you’re using the Nvidia drivers, not those provided with Windows, and install the Nvidia System Tools.

Keep your video drivers up to date to ensure the best possible performance

Tempting though it might be, don’t immediately push all these sliders to the maximum just to see what happens. Your PC will almost certainly crash, unless your video card overheats and dies before that happens.

It’s much better to take a gradual approach, one slider at a time. Push up the Memory Core clock by maybe 10MHz, save the changes and then run something like the Crysis benchmark tool. You’ll also need the demo.

If the demo looks fine then repeat the process, perhaps reducing the increment to 5MHz after a couple of overclocks. If you’ve pushed the card too far then artefacts will begin to appear: strange lines, noise and general video oddities. In this case you should make a note of your last successful clockspeed, return to the default settings and move on to the next slider. When finished, you’ll have the highest successful value for each clock, so try setting all the clocks at the appropriate value. This probably won’t be stable, so wind back the clocks you pushed furthest and try again until you’re artefact-free.

RivaTuner is an excellent video overclocking tool that works with both ATI and Nvidia cards

We tried this on a test PC and managed to increase our GeForce 8800 GTS performance by 14 per cent – nothing spectacular, but not bad for a couple of hours’ work. Be sure to monitor your GPU temperature and increase fan speeds if necessary. RivaTuner has everything you need to safely tweak both ATI and Nvidia video cards.

Find the bottleneck

If everything we’ve discussed so far still doesn’t get you close to the frame rates you need, your system may have a bottleneck that’s holding everything else up.

Is your system RAM up to the task, for instance? When equipped with only 2GB of generic DDR2 DIMMs, our test PC barely reached 20fps on the Crysis demo (1,600 x 1,200, high quality). We replaced these with 4GB of Crucial’s finest Ballistix offerings and frame rates went up by almost 25 per cent – not bad for an £80 to £90 outlay. And that’s just the start – faster and more reliable RAM means you’ll probably be able to overclock your CPU further, too.

A RAM upgrade didn’t offer the same benefits if we tried to run Crysis at the very highest-quality levels, though: the 2GB test returned 11.75fps, the 4GB a near-identical 11.915fps. That’s because the graphics card is now the bottleneck. It simply couldn’t deliver acceptable performance at the settings we’d chosen.

As a last resort, then, you can always change your game settings. There’s usually an intimidating list of quality-related options, but tweaking just one or two of these will often be enough.

In Crysis, for instance, just changing the Shading Quality setting from ‘Very High’ to ‘Medium’ was enough to see our test PC’s 1,600 x 1,200 frame rate leap from 11.915fps to 23.61fps.

Although Crysis will by default use DirectX 10 when installed on Windows Vista and 7, switching to DirectX 9 gave us a further big performance jump to a new frame rate of 35.49fps. There’s no guarantee that other games with a similar option will see such a huge improvement, but it’s worth a try.

We finished by applying some of the techniques we mentioned earlier. Disabling PC resource hogs increased the frame rate by four per cent; turning off pointless services gave us a three per cent increase; using Process Lasso added more than five per cent; and overclocking returned an extra 14 per cent. They’re small gains, but every little really does help, and the incremental effect meant that a previously unplayable game was now purring along at more than 45fps. That’s close to a 400 per cent improvement – a real result.

May 18

Seize the moment! There’s no time like the present when it comes to harnessing every ounce of performance from your labouring computer.

Here’s the shocking truth: dubious default settings, wrong configurations and wasteful processes are sapping many of your PC’s valuable resources. And what’s to blame? Windows. Windows is deceptive. After you’ve installed it, the OS happily connects to the internet, downloads all the necessary drivers, configures itself and there you go – one stable PC all ready to roll. It couldn’t be easier or more convenient. But the problem is, Windows doesn’t come optimised for performance. And it’s much the same story for most of your applications: they’re all set up to work, not roar along.

So what’s the answer? We say take control and don’t trust Windows’ default settings. Sure, they’ll yield a machine that is stable and dependable, and to a degree that’s the point. That’s what the average user wants, and it’s what Microsoft and PC makers need. By keeping configurations nicely conservative they’ll keep PCs the world over ticking along happily and calls to their technical support divisions low.

But we PC Plus types aren’t average users. We’re demanding users who want to squeeze every drop of performance out of our computers. So, join us as we declare war on default settings and automatic configurations. Take control of your PC and release its full potential!

Remove processes

A good first step when speeding up your system is to identify and remove the processes that are currently wasting its resources. Windows runs a slew of processes by default. Some are essential to the functioning of your machine, but many others are unnecessary resource hogs. Process Hacker (a Task Manager-type utility with many more features) is perfect for sorting the wheat from the chaff.

Launch the program and right-
click the Name column header to define what information it should display. Ensure that ‘Name’, ‘PID’, ‘Pvt Memory’, ‘CPU’, ‘I/O Total’, ‘Username’, ‘Description’, ‘CPU History’, ‘Handles’ and ‘I/O History’ are all checked. Now click ‘OK’ and you’ll see two small graphs – CPU History and I/O History – that give a visual pointer as to how each running process has been behaving in the past few seconds. This is helpful information: if your hard drive has been thrashing for some unknown reason, for example, scan the I/O History column. Anything showing spikes of activity is a suspect.

Process Hacker is great for identifying resource hogs – use the graphs to see how much each process uses the hard disk.

Exactly what Process Hacker uncovers will vary depending on your system, but on our test PC we noticed that ‘IBurn.exe’ (a packet-writing program provided with Cyberlink Media Suite) had regular I/O read spikes and that a process associated with VMware Workstation, ‘vmware-tray.exe’, was tying up CPU and I/O time.

It’s important not to overreact and start shutting down resource-hungry processes, because if you pick something important, your PC will crash. Instead, try to identify the process, and if it proves to be unnecessary, make sure it doesn’t reload next time.

To do this for IBurn.exe, we loaded the InstantBurn System Configuration Tool and clicked ‘Disable InstantBurn’ to stop it launching when Windows next started. The vmware-tray.exe process was just as easy to turn off: we launched VMware Workstation, clicked ‘Edit | Preferences | Workspace’ and cleared the ‘Show Tray Icon’ box to ensure it wouldn’t start again. The next thing to do is click the Pvt Memory column header to sort your processes by the amount of RAM they’re using – a handy way to see the real resource hogs.

Once again, we found programs that could be removed. ‘SkypePM.exe’ was the Skype Extras Manager, but we didn’t use them: clicking ‘Tools | Options | Advanced Settings’ and clearing ‘Automatically start extras’ meant that the process wouldn’t load next time.

If you’re looking for more savings, target ‘iTunesHelper.exe’. It launches iTunes when it detects an iPod or iPhone being plugged into the PC. If you don’t have one, run Regedit, head to ‘HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\WindowsCurrentVersion
\Run’, right-click the iTunesHelper key and click ‘Delete’.

Bloated apps like iTunes come with lots of unnecessary services and processes that drag down your system.

We’ve only carried out four tweaks so far, then, but we’ve freed up at least 47MB of RAM, as well as reducing background I/O and CPU activity. That’s not bad, but some judicious tweaking of Windows services may be able to deliver even more.

Stop services running

Windows services are small programs that run in the background, providing things to the OS and your applications. Click Start, type Services.msc and click the ‘Services’ applet link to see the services installed on your PC, which is almost guaranteed to include some that you don’t need.

Here are some examples. If you don’t use Media Center then the Windows Media Center Extender, Receiver and Scheduler services are all surplus to requirements. The Distributed Link Tracking Client maintains links between NTFS files over a network. If you don’t use that feature then it’s unnecessary. Similarly, IP Helper is useless for those without an IPv6 network; Offline Files has no purpose if you don’t use its sync features; the Tablet PC Input Service is only for tablet PCs; and the Secure Socket Tunnelling Protocol Service is generally only useful if you’re connecting to a virtual private network (VPN).

Potentially redundant third-party services include Apple Mobile Device and iPod Service, which come with iTunes and can be safely turned off if you don’t have an iPod or iPhone. Bonjour Service is only required if you need iTunes or Safari to discover network services; Nero BackItUp Scheduler belongs to Nero Burning ROM, and can be turned off if you’re not using the back-up tool; and Nvidia Stereoscopic 3D Driver Service is useless unless you have the 3D glasses needed to use Nvidia’s 3D Vision technology.

Think carefully about the services that can be safely disabled on your PC. (And we do mean carefully: get this at all wrong and you could prevent Windows from loading, even in Safe Mode, so if in doubt about something, leave it alone). Then go to work turning off the unnecessary components.

In some cases you may be able to do this by uninstalling a program from Control Panel. That’s where you’ll find the Nvidia Stereoscopic 3D driver, for instance. But with most options you’ll have to launch the Services applet (‘services.msc’) and tweak the settings yourself. The safest approach is to double-click the redundant service and set its Startup Type to ‘Manual’; it won’t be launched automatically, but will still be available if another service requests it. The problem is that this can leave some services running unexpectedly, so if you’re 110 per cent sure that something isn’t in any way system critical – Apple Mobile Device, say – then set its Startup Type to ‘Disabled’, and you can be sure that it won’t be launched again.

Create a Turbo mode

Some of the most resource-hungry Windows services shouldn’t be turned off permanently. We found that Windows Search consumed more than 250MB of RAM on our test system, for instance. That’s annoying, but we’d miss the service if it weren’t there. The SuperFetch caching service can grab plenty of RAM, too, and it isn’t always effective, but on balance it’s still worth keeping it running.

Shutting down Windows Search recovered more than 250MB of RAM.

You wouldn’t want these services to disappear forever, then, but what about if you created a batch file to turn them off just temporarily? This could free up a considerable amount of RAM. You may then get better performance out of a game or some other heavy-duty application that you’re trying to run, and you could use another batch file to restore the services when you’re done.

To give this a try, launch ‘Services.msc’, double-click each service you’d like to disable and make a note of its short name. This is labelled as ‘Service name’ on the dialog. Now create a file called Turbo-On.bat that uses the net stop command (as shown below) to close each service. Feel free to leave SuperFetch enabled if it helps the particular app that you’re trying to prioritise, and of course you can add as many other services or programs as you like, just as long as they’re not system-critical. Here we’ve included a sample line that would shut down Skype’s services:

net stop wsearch
net stop sysmain
‘\program files\skype\phone\skype.exe’ /shutdown

Then create a second file called Turbo-Off.bat that uses the net start command to relaunch everything, as here:

net start wsearch
net start sysmain
‘\program files\skype\phone\skype.exe’

Store these files somewhere safe, and create shortcuts to each. Next, right-click the shortcut, click ‘Properties | Shortcut | Advanced’ and check ‘Run as administrator’.

Now, whenever you need the maximum possible performance, launch the ‘Turbo-On.bat’ shortcut to free up some RAM and system resources. Then fire up ‘Turbo-Off.bat’ when you’re done to restore normal operations.

Prioritise programs

So far we’ve concentrated on absolute ways to divert your PC’s resources. But what about those programs that you must leave running, but aren’t system-critical – such as mail apps? It’s possible to recover resources from these applications, too, although it may take a little extra work to do so.

Let’s assume that you always need to have Outlook running in the background. By default this may grab processor time on any of your CPU cores (assuming you’ve got a multicore CPU). You can restrict the app to just one, freeing up the others for different programs. In Process Hacker, right-click the ‘Outlook.exe’ process, click ‘Affinity’ and ensure that only ‘CPU 0’ is checked. Repeat the process with other non-essential programs that you have launched (nothing security-related though, and no Windows components). Their performance will fall a little because they’re restricted to one CPU, but the rest of your apps should now benefit, as they get improved access to the rest of your system’s cores.

Another way to make other apps run quicker is to reduce the CPU and I/O priority of a background process. Windows does this itself with the Windows Search indexer and other components so that they don’t interfere too much with foreground apps, and you can apply the same trick yourself to limit a program’s impact on your system.

In Process Hacker, right-click the process you’d like to change (avoiding security tools, Windows components and anything system-
critical) and select ‘Priority | Idle’. Then right-click the process again and select ‘Miscellaneous | I/O Priority | 0’ to make sure that it gets the least possible share of your system’s attention.

You could also increase the priority of more important processes to High, which may mean that they get more CPU time, but be careful – doing so is risky. It’s more likely that your programs will block Windows’ own processes from running, and that could result in your PC crashing or locking up.

Don’t expect too much from these techniques, though, especially if you don’t have many background processes. With just Outlook and a browser running in the background on our machine, our tests showed that priority and affinity tweaking delivered only a two to five per cent improvement in foreground application performance. However, if your PC is packed with busy background processes, this can be a very useful way to manage them. If you see good results then you can change your program shortcuts so that you’re able to launch them using the command-line ‘start.exe’ tool, which can set their priority and affinity without Process Hacker’s help.

Process Lasso can optimise all your process priorities to help deliver improved system speeds.

It may also be worth trying Process Lasso, which assigns and manages process priorities automatically. It’s a commercial product, but it’s reasonably priced (from $20), and there’s a free trial available so you can see if it works.

Further basic rules

If you’ve followed our advice so far, you’ll have discovered and tamed resource-hungry processes, turned off unwanted Windows services and taken steps to reduce the impact of many other programs on your PC’s performance. That’s great, but to get the most from your PC you’ll still need to follow two simple rules while you’re working.

If you have a bulky application open but you won’t be using it for a while, don’t leave the window open on your desktop – minimise it. Windows will often free up some of the RAM it’s using immediately.

If you’re walking away from your PC and leaving an app running some lengthy task – rendering video, say – then make sure that the program is running in the foreground (just click its title bar). Windows gives more CPU time to the foreground app and you should find it completes more quickly.