Five WoW accounts, one keyboard broadcaster and me.

Sunday, August 16, 2009

Game Performance

For a good while now I was not really satisfied with the performance of WoW on my gaming computer. I have now made a few small changes that have significantly improved the performance of WoW on my machine to my great delight! I made three changes, two are setup and one is hardware.

First off, hardware. I spent 145 Euro on an OCZ Vertex Turbo 30GB. What? It is a Solid State Drive, in a nutshell flash memory - like the card you put into your digital camera - working like a hard drive. The key selling point for those things is that unlike normal hard disks, they have no seek time. A normal hard disk needs to rotate the disk(s) and move the read/write head to the right place to access certain data. That can be very bad, if scattered, small amounts of data need to be read. Unfortunately, that happens very often in WoW where we all notice machine lag - in cities, where every players visible gear pieces need to be loaded.

SSD technologo is nothing new, but used to be quite expensive: 500-600 Euro for an affordable consumer model. There are still SSDs offered in retail for non-server use in this price range, and there are a bunch of things you don't really want to buy that are around 100 Euro. And then there is the OCZ Vertex and it's successor the Vertex Turbo. Unlike some of the budget SSDs - some also made by OCZ - it has a great controller and gives very respectable performance compared to the expensive options.

In lieu of any proper mounting kit for the 2.5" HDD form factor of the SDD I used cable ties to fix the small SDD to the chassis of my gaming rig as you can see in the picture above. When I originally bought the ThermalTake Armor case I was miffed that I had to either take one with a window or wait. Now I am quite happy to look at my little silent but effective new toy when I want. =]

WoW can be copied to and run from nearly any storage device - such as a USB stick or an iPod - I didn't just copy the entire client to the SSD. Instead I copied only the /data directory from the WoW directory to the SSD. That directory holds the by now about 13GB of game data files of WoW and that is where all the reading happens. All the other folders are for addons, settings, screenshots or whatnot, in essence things that change frequently and I left those on the raid hard disks.

Then I used Symlink to instruct Vista to redirect read and write access to the WoW-data directories for both WoW installations on my computer from the hard disk to the SSD. That's it.
Using Symlink is also a good idea when using regular hard disks if one is using move than one WoiW installation - for example for easier setting and/or addon management.

The third change I made was to disable Vista's Superfetch service. Superfetch is supposed to proactively load data from the hard disk to memory before a program actually asks for it. To do that it tries to predict what the running software will request. A nice idea, but not very useful for something kinda intricate like WoW's data files. WoW itself is also loading data proactively. It does load the next zone while you are approaching the zone boundary. I am no expert in either Superfetch or WoW's methods, but clearly disabling Superfetch significantly improved the performance of my system. I can only guess that having the hard disks of my raid array jump left and right to follow the predictions of Superfetch and WoW itself is the reason for this. To disable Superfetch, follow these instructions (enabling works the same way, just backwards).

Before these changes, I would often loose characters on /follow while flying at 280% speed in Northrend. In particular in busy areas or at zone borders. Thinking about the data reading that is going at the time, that makes sense. Today I flew all over Northrend and instead of having a fit I had a smooth flight with only one or two times that I had to renew follow due to phasing.

Likewise, before the changes I was suffering from massive machine lag when hearthing to Dalaran. There are just too many people with too many textures too load, damning me to sitting idle for two minutes or so before I can move smoothly - if at all since people come and go. Now, after waiting only a polite 2 seconds, I could move as if I was alone on the server. I chained up my shamans in a konga line, each following another and rode a couple of times all around Dalaran just after hearthing there and none of the /follow strains broke! Happy joy joy! =]