Jun 11

This model was created by Andrew Comb. It took six years to model in Lightwave 3D, and has a total of nine million polygons.

Once upon a time, a handful of pixels madeth the space invader. Graphics were iconic, not representative: a picture on the box or manual showed you what it was meant to look like, and your mind filled in the necessary gaps. Nobody could have predicted that in just 20 years, we’d be immersing ourselves in realistic living cities, flying over gorgeous tropical islands and going head-to-head with astoundingly rendered characters – and not even being particularly impressed. But in years to come, modern games like Grand Theft Auto IV and Crysis will look just as dated as the classics we remember from the days of yore. In fact, they’ll probably look more so: while the simplicity of a retro game’s look has a certain charm to it, old 3D titles tend to flat-out look old. Try almost any hit game of the mid-to-late ’90s for proof of that.

3D is about more than just pretty graphics. Done right, it makes gameworlds come alive. A 2D sprite can only do what it’s been drawn to do, while a 3D character has a complete endoskeleton and can respond naturally (at least in theory) to anything that happens – the classic example being ‘ragdolls’, where a fallen enemy doesn’t simply slump to the ground in a canned animation, but tumbles off the railing and lands with one arm draped over a step.

You can create worlds rather than merely levels, unlocking the player’s ability to truly explore and experience the world as the character would. You can build simulations ready to be poked and prodded, abused and enjoyed.

It’s phenomenally powerful, to the point that many nominally 2D games are now really 3D ones viewed from a locked perspective, so that they can better use the possibilities of animation, physics and art assets. Why render hundreds of frames of animation you may not be happy with when you can make a model and keep tweaking it until it’s perfect? You may lose some of the old-school charm, but you gain far more.

Dawn of a dimension

The first big 3D success was Battlezone, a tank game released in 1980 that used vector graphics to create its work, much like Asteroids. While a simple game by modern standards, it was fiendishly complex for such an early example, offering the ability to go anywhere in an (admittedly featureless) world, hide from attacks and fight enemies.

Battlezone was thought to be so realistic that the US Army used it to train tank gunners.

Not impressive enough? In 1987, the first Freescape game, Driller, hit the shelves. It offered a full 3D world on platforms as basic as the Spectrum, and was an actual game rather than just a tech demo. Next to that, it didn’t matter that it was ugly, the frame-rate was abysmal and the game itself wasn’t actually much fun – it got lots of attention.

The Freescape engine in its various forms was used in several famous releases, including Castle Master and its sequel, and the all-out 3D Construction Kit. Legend has it that someone somewhere once made something other than a surreal, unplayable mess in this, but we never saw it. Freescape also made it onto TV, in the form of the absolutely atrocious Craig Charles vehicle Cyberzone, one of the most toe-curling attempts at creating a games-related TV show ever. Thankfully, all that remains of it is a single YouTube clip – and that’s painful enough. Most of the early 3D games stuck to simpler technologies. These days, we think of 3D as free-roaming, real-time engines, but back in the day, simply getting a game to look 3D was impressive. As early as 1981, games were achieving this feat – 3D Monster Maze was terrifying a generation with its slowly updating screens and roaming T-Rex, and the first Ultima game was offering a very advanced hybrid of block-by-block movement 3D graphics for its dark dungeons alongside a top-
down 2D overworld for exploration.

Interestingly, while most developers kept pushing further towards 3D, Ultima ended up pulling back, switching entirely to a top-down sprite-based system for the series’ glory days. The 3D element later developed into its own spin-off – the Ultima Underworld games – before returning for the series’ sadly disappointing final outing – the buggy, system-murdering Ultima IX: Ascension.

Faking it

The problem has always been the same: the potential of 3D fights with the limitations of current systems, whether it’s simply displaying the graphics in the first place or making them look as good as other art styles. Going back to an early ’90s 3D game now is almost painful. Flat faces, non-moving lips during conversations, stick-figure character models, smeary textures and appalling animation… the list of problems goes on. Some games got past this, sometimes bizarrely – most obviously Core Design’s legendary heroine Lara Croft, who managed to become an international sex symbol despite looking like a pointy-chested Pinocchio. Most survived simply because playing a 3D game felt futuristic, even if the lack of polygons our PCs could push out meant that 2D games were usually much more detailed.

For much of 3D’s history, the trick has been getting the effect of the third dimension without having to do it for real. The early Wing Commander games gave the illusion that you were flying through 3D space, but really they were just scaling sprites up and down. In first-person shooters, it quickly became clear that walls were easy thanks to their incredibly simple geometry, but snarling hellbeasts dripping blood from their fangs were asking a bit too much. So developers compromised. The worlds themselves were made in 3D, initially just as mazes. Then, as texturing became more advanced, more realistic-looking areas were created, like those in Catacomb 3D.

Interestingly, the state of the art varied dramatically across genres. Shooters had to be fast and fluid, so they were kept simple. In the case of early games like Core Design’s Corporation, things were stripped down so much that the engine didn’t even bother with textures. Id’s first breakout hit – Wolfenstein 3D in 1992 – had textures to depict the inside of its supposed Nazi castle stronghold, but all the maps were completely flat and the interaction was limited to just opening doors and shooting enemies. Ultima Underworld, which came out in the same year, had sloped surfaces, advanced lighting effects, dialogue, puzzles, magic systems, physics, 3D objects, a real plot, the ability to look up and down instead of having your view locked straight ahead and much more.

Ultima Underworld could afford to push these limits because as a role-playing game, it was inherently slower than a shooter, and the audience was more willing to accept the necessary limitations, like the small viewing window. It didn’t hurt that while publisher Origin’s official motto was ‘We Create Worlds’, its unofficial credo was ‘Your PC Will Cry’. It never did worry about system requirements…

Two and a half dimensions

For performance and sales reasons, most games were stuck in what was dubbed 2.5D until the launch of Quake in 1996. Quake wasn’t the first genuinely full-3D shooter in the modern style, but it was the one that made 2.5D officially obsolete. These faux 3D or 2.5D games were flat maps, where areas could be raised and lowered (and in later games like Duke Nukem 3D, sloped), but you couldn’t have one room on top of another. Some games pretended otherwise, but it was generally a trick – the player would be silently teleported as they crossed the room’s threshold. Descent provided a full 3D world made up of polygons in 1995, but only a basic one – it was a series of sprawling mineshafts. The Star Wars game Dark Forces offered rooms above rooms, but otherwise stuck to the standard technologies on display in any other shooter of its era, including sprites.

First-person shooter bosses like this were unheard of before Quake was released in 1996. Now, they’re standard issue.

Sprites were a growing problem. By the mid ’90s, level design was getting more and more impressive. By modern standards, the opening cinema level in Duke Nukem Forever is empty and unconvincing, but to an audience used to bland military base corridors and castles, the realism was incredible.

Almost all these games were able to do this because they saved their 3D for the world. Actual characters were pre-drawn 2D images, pasted in to the game. Not only did they increasingly look weak, not part of the scenery and incredibly blocky up-close, but they also didn’t fit. Games could scale sprites to deal with the player getting closer to and further away from them, but when they started offering the ability to look up and down (first made popular with Heretic, a 1994 fantasy game) the effect showed its limits, with sprites shearing and increasingly looking like the cardboard cutouts they were.

A little voodoo magic

Games had to get more advanced, but the performance wasn’t there. Quake brought full-3D worlds and enemies to the field in 1996, but at the cost of visuals. Technically, they were better, and the improvement in animation was stunning – an early sequence where a snarling Fiend leaps out of a door to attack the player directly is one of many gamers’ fondest memories, to say nothing of the first episode’s room-
sized, lava-throwing monster Cthon. But the world was still drab, ugly and simplistic, with enemies that looked like they’d been knocked into shape with a sledgehammer and textures that would have lowered the tone in a morgue. Like all graphics technology, this quickly improved over the next few years, but it was increasingly obvious that simply throwing more CPU power at games wasn’t going to cut it.

Not alone, anyway

Most people didn’t really see the need for dedicated video cards at first because, to put it bluntly, there wasn’t much of one. Games increasingly offered a high-end mode that offered a higher resolution and additional effects without a specific need for extra hardware – bar a hefty processor. This high-end mode slowly became the standard experience, yet it was a long time before video cards became mandatory for playing PC games. Even technical showpieces like the original Unreal would run in so-called ‘software mode’. There wasn’t one big game that marked the transition, more a slow giving into inevitability.

Dedicated 3D cards came into their own around 1997, with several competing, mutually incompatible brands fighting it out for dominance. By far the most successful was 3DFX with its Voodoo cards. Even now, with built-in low-end 3D a standard on motherboards, a separate 3D card is mandatory for most games. On the plus side, the dominance of DirectX means that you don’t need to worry too much about which card to buy.

Individually, the abilities offered by 3D cards don’t sound too exciting. In the late ’90s, the core functions were transformation, clipping and lighting – in short, getting the card to work out where items in the world were and how they should be lit. The next big advance was the addition of shaders. Shaders are additional calculations thrown into the rendering pipeline that work on individual pixels, vertices and pieces of geometry to add effects and change the final image. Examples include working out appropriate shadows, making a flag flutter or adding bump mapping (a texture that gives the illusion of raised and lowered areas on an object without the need to add polygons). More advanced shaders include motion blur and bloom effects, soft shadows, depth of field and volumetric lighting.

The new bottlenecks

With the technology burden eased (or at least partly passed onto the card manufacturers), developers could focus on making the most of what they had. Valve largely pioneered skeletal-based characters rather than keyframe-by-keyframe animated enemies in Half-Life, and Ritual went out of its way to create interactive elements such as hackable computers in the real-
world environments of Half-Life’s closest rival of the time, Sin. Ragdolls spread to every new game until the games that didn’t offer them felt stodgy and ancient in comparison. Most importantly, the new realism of these games finally let developers sink their teeth into genres that they’d never have been able to do as traditional corridor shooters. Grand Theft Auto III gave us a living city. A million games brought the horrors of World War II to life in glorious cinematic style.

Realistic character and facial animation is a surprisingly recent addition to gaming.

Problem solved? No, just replaced. Now the issue became one of creating all this in the first place. A simple maze-based 3D shooter could be churned out in under a year by a competent team, but building cities, battlefields and other real-world elements requires an immense number of assets. Games are much shorter than they used to be, not because they’re more complicated – in most cases, the features are more advanced but the thinking is more conservative – because of the amount of content required, and the cost of making it. There are shortcuts for some things, like the Speedtree libraries for procedurally generating a forest in a hurry (used in, among many others, Grand Theft Auto IV, Elder Scrolls: Oblivion and Fallout 3), but in general, if a developer wants something, that developer has to make it himself.

Crysis 2 is the current state of the art: explore New York in the wake of an alien invasion.

Technology itself has also reached a plateau, not because there’s nothing more to do – nobody thinks that – but because right now, the big money is on Xbox 360 and PlayStation 3. Both are relatively old machines, but that doesn’t matter. PC ports often allow for higher resolutions and sometimes let you switch on better graphics (Metro 2033 looks much better for instance, as will Crysis 2 when it lands) but it’s usually a token gesture. To put the graphical difference into context, many PlayStation 3 games don’t even use anti-aliasing to smooth out the edges of their polygons, and games on both platforms typically render at a lower resolution than the high-def numbers you’d expect from the systems’ marketing.

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.

May 15

The market keeps on moving: SAP acquires Sybase etc. But one name attracted my attention: GemStone being acquired by VMWare/SpringSource (next to RabbitMQ, Hyperic, …).

Time flies: I remember Gemstone as a vendor of OODBMS and application server. On the OODBMS side there were also Versant, ObjectStore (eXelon –> Progress). The list of applicaton servers – just before EJB’s took off – is much longer: Netscape Applicaton Server, Forté, Jaguar CTS (Sybase), Tengah (became WebLogic), IBM Component Broker, ATG Dynamo, Novell Silverstream, Novera, … Had forgotten about most of them. Another such “hidden” company that I recently encountered is Pramati.