Friday, January 21, 2005

World of Warcraft Performance Guide | 1/21/2005 3:54:16 PM PST


Have you ever gotten stuck on a zeppelin or boat because it arrived and left its destination before you could get off? Does it take longer for your computer to load a windrider flight than it does to actually get there? Do you constantly fall off of Freewind Post to your death? Has a person 20 levels lower than you killed you because you couldn’t move to fight back?

If you answered yes to any of these questions, or if you just want to get the most out of your computer, then read on.

This article is aimed at optimizing your system to get the best performance and visual quality out of World of Warcraft. I have been programming for six years and working with Direct3D and OpenGL for three, and it surprises me how many misconceptions about performance there are out there. I hope to clear some of them up.

Before I get into some technical details, there are some things everyone should do.

Software Things

1) Check for spyware. Even if you think you don’t have it, it’s good to be sure. This stuff is absolutely insidious. Two free programs that work great are:

Adaware Personal: http://www.lavasoft.com/software/adaware/
Spybot Search and Destroy: http://www.safer-networking.org/en/index.html

It may help to run Windows in safe mode when doing the scans. Reboot your computer and hold F8 while it starts up. This will bring up a choice of launch configurations. Select Safe Mode. If safe mode without networking is available, pick that. Some spyware comes in packages. From what I’ve seen, if one program from the package realizes its friends are gone, it goes ahead and downloads them again. Disabling networking temporarily will stop this. Once you are done scanning just reboot and let your computer start normally.

2) Close all running programs (except for maybe your instant messenger). Blizzard always says to do this first and for good reason. You might think it’s all closed, but in reality there are probably many things going on.

For Windows 98 and XP, go to start > run > type in “msconfig” (without the quotes) and click OK. Go to the Startup tab. Uncheck everything, especially if you don’t know what it is. This will prevent all programs from launching at startup. If you find you stopped something that you wanted then you can go back an add it, but first start with nothing.

If you are on Windows XP, it can also be a good idea to stop all unneeded services. See http://www.blackviper.com/WinXP/servicecfg.htm for a guide on how to do it and some recommended settings.

3) Get the latest video drivers for your video card.

ATI: http://www.ati.com
NVIDIA: http://www.nvidia.com

If you aren’t sure what type of video card you have, go to start > run > type in “dxdiag” (without the quotes) and click OK. Go to the Display tab. In the top left corner under the Device group it will say under Manufacturer. If your manufacturer is Intel, then it is strongly recommended you read the video card section.

4) Defragment. This will make it so that files aren’t in many places on the harddrive at once, making the game faster to load. It is a good idea to run in safe mode while you do this.

I actually reformatted and then installed World of Warcraft before anything else. This not only makes it so individual files are kept together, but all of the World of Warcraft files are kept together. It also gets a spot closer to the center of the disc, creating a smaller rotation radius for the head. What I did probably had no effect, but whatever =). Defragmenting is really all you need to do.

To defragment: Open My Computer, right click on the C: drive, and click Properties. Go to the Tools tab and click Defragment Now...

The truly paranoid might consider creating an entire partition for World of Warcraft.

Into the Actual Hardware

In order to understand how each part of your computer contributes to (or hinders) performance it is important to understand the concept of bottlenecks. It’s actually quite simple: your computer will only run as fast as its slowest part.

This little statement is more important than it seems. I see a lot of people automatically jump to upgrading their video card. This can lead to little or no improvement if the rest of your computer is outdated as well. As an extreme example, it would be absurd to run a GeForce 6800 with a Pentium 2 400 MHz. Likewise, it would be equally absurd to pair a Pentium 4 3.46 GHz with hyperthreading with a GeForce 1.

On to the parts…

The Videocard

The videocard is in charge of rendering everything you see on the screen. (Before I go on it is important to note that this only applies to 3D applications, and even then not all of the time. Fancy designs like you see in Windows Media Player are actually processed by the CPU.) The videocard is optimized for matrix math and is able to do 16 or more operations per pipeline in a single instruction. However, it gains this speed at the loss of flexibility. There are different pipelines (vertex processing, pixel processing, etc.) that work (mostly) independently of each other. The next generation of video cards is actually blurring the lines between these, so it will be very interesting to see what effects developers come up with in the near future.

Before the videocard can do anything, however, it must receive its instructions from the CPU. This is why you don’t want to go overkill on the videocard. An upgrade can never hurt, but it may not be cost effective to go for the best. I went from a Radeon 8500 to a Radeon 9600 XT and noticed a fairly large improvement.

The improvement you see from upgrading your video card will be in overall frame rate. If you lag when entering towns you will still probably lag when entering towns. If you constantly suffer from a bad frame rate wherever you go, the video card is most likely the thing to blame.

Before upgrading your video card I strongly recommend reading some reviews reviews. Two good sites are:

PC Stats: http://www.pcstats.com/
Tom’s Hardware: http://tomshardware.com/

I would recommend the GeForce 6600, provided you have the processor to match it with. I would steer people away from the GeForce FX line, and force them into solitary confinement for considering the GeForce FX 5200. Stay away from the lower end Radeon 9x00 series as well. Video memory is something to keep in mind, but it isn’t necessarily crucial. More is only better if the game actually uses it, and when it doesn’t, it can actually lead to a small slowdown. Either 128 MB or 256 MB will get you through World of Warcraft just fine, but for future games, you might feel safer with 256 MB.

Rember earlier when I said to see this section if your video card manufacturer was Intel? This means you have an integrated chip. Intel isn’t the only manufacturer of them but they are the most common. While extremely cheap and adequate for normal use and internet surfing, they can cause you nightmares in games. The main reason is that they only do pixel processing, leaving the CPU to do vertex processing. Even their pixel processing is subpar. If you have one and can’t upgrade it’s not too much to fret about. Turning down all of the options and decreasing the resolution should get you to at least a playable level, but a true video card will make your experience much more enjoyable.

A note about PCI Express: Don’t worry about it. PCI Express improves the bandwidth available to video cards, but since games don’t even use up the bandwidth available to AGP 4x, upgrading a motherboard just for PCI Express is a waste. It would be like changing a four lane highway to a sixteen lane highway when only two lanes are in use at any given time.

The CPU

Many people underestimate the role the CPU plays in games. Every little physics calculation is done here, as well as shuffling instructions to the video card, sound card, and everything else. It can also be in charge of doing all of the animations in the game if your video card does not support vertex animation (more on that later).

Upgrading the CPU can often be more trouble than it’s worth. You can only go so far before needing to upgrade the motherboard as well. Once you upgrade your motherboard you have to worry about RAM compatabilities. It starts to get sticky. If you want to go from Intel to AMD or AMD to Intel then you are out of luck with your current motherboard.

If you are considering a new computer or processor/motherboard, I would recommend anything from the AMD Athlon 64 series. These are currently the best gaming chips on the market, thanks to their on-die memory controller. If you are going with Intel, don’t be sucked into the hyperthreading bandwagon. Intel tries to imply that it’s like having two processors on one chip. It is and it isn’t: only one is used at a time. Every processor “stalls” every once in a while. Intel’s (rather brute force) solution was a backup processor. I repeat, hyperthreading is not the same thing as parallel processing. Speaking of parallel processing…

Don’t do it. It will not give twice the CPU power to World of Warcraft. Parallel processing requires that the application be designed for it. A thread can only be worked on by one processor at a time, and in most (if not all) games there is only one computationally intensive thread. If you wanted to run two World of Warcraft’s at a time you might notice a different, but it seems silly to me.

RAM

RAM. Every piece of data has to go through it at some point. World of Warcraft loves it. I upgraded from 512 MB to 1024 MB for $75 and noticed an incredible difference. I no longer screech to a halt when hearthstoning to Orgrimmar. I haven’t fallen off of Freewind Post since. I can also alt+tab out of the game without the harddrive spinning around for half a minute.

Adding more RAM will not give the same kind of performance increase as upgrading the video card. You will still get the same frames per second standing around looking at a waterfall. However, should you run into a heavily populated area, or switch zones, your computer will load much, much more quickly.

There are four major types of RAM: SD, RD, DDR, and DDR2. RD, DDR, and DDR2 are faster than SD, but the jury is still out on how much of an improvement DDR2 is. DDR2’s main advantage is that it uses less power, making it useful for future laptops. If you don’t know what type you have you will need to check your motherboard’s manual or manufacturer’s site (or just open up your computer and look inside). There are some programs that supposedly tell you, but I have no experience with them.

There is also unbuffered/registered and non-parity/ECC to keep in mind. Registered RAM is usually only in servers. ECC is a method of correcting for errors when writing to RAM. The chance of one occuring is minutely small and ECC does have a small overhead, so this is usually only in servers as well. Non-parity will be a little faster and save you some extra money as well. Feel free to mix ECC and non-parity, but unbuffered and registered are not compatible with each other.

If you have SD and are worried about a possible performance loss, don’t. As far as World of Warcraft is concerned, quantity > quality.

The Hard Drive

Yes, the hard drive. All of the game files are stored on the harddrive and have to get to RAM one way or another. I wouldn’t upgrade your harddrive just for World of Warcraft, but if you are getting a new one, make sure it has at least 8 MB of cache. This will lead to faster load times, assuming reading is the bottleneck and not the bandwidth available.

The Sound Card

In all honesty, the sound card isn’t something to worry about. Even an integrated sound card is fine here. Just make sure you have the latest drivers and you are set to go.

A few people in Asheron’s Call 2 did have sound card compatibility problems that caused the game to be unbearable. I haven’t heard of any of this in World of Warcraft, but if you have a powerful system that runs horribly, it might be something to look into.

In Game Options

So now you have the latest and greatest hardware and you are staring at the Video Options screen. What does it all mean? Some of it doesn’t matter, but there are some important ones.

Resolution: How many pixels are on the screen. A higher resolution will lead to improved visual quality, but it is limited by the monitor and video card. Monitors can only go so high and video cards start to get bogged down after a while. Experiment with this option, you might be able to increase it with no performance hit at all. If you are using an LCD monitor then try to match the native resolution if your video card can keep up. You will notice a huge difference in crispness.

Refresh Rate: How many times a second the monitor draws the screen. Most people can’t tell the difference, but my eyes can’t stand anything less than 80 Hz. If you get a headache after playing for a while then turn this up. You might have to lower the resolution in order to do so.

World Appearance sliders: Your main performance customization tools. Only experimentation will show you the best combination for your system. It depends on where the bottleneck within the video card is. If it’s in pixel processing then you might be able to increase environment detail or turn off level of detail and not notice the difference. If it’s in vertex processing you might be able to increase the texture detail for free. Anisotropic filtering is a technique for blending a texture as goes off into the distance. If you are annoyed by the lines on textures that appear on the ground when walking around then this is the option to increase.

Level of Detail: World of Warcraft has a terrain engine feature that can render things in the distance with less polygons than things in the front. This can significantly speed things up and lower to middle end video cards. While standing still it’s not noticable, but once you start moving around you will notice a “popping” effect. Turning off this option forces everything to the highest detail and leads to an increase in image quality. I was able to turn this off on my Radeon 9600 XT with no difference in performance. Try it and see, you might be surprised at the difference if you are used to the popping.

Shader Effects: These improve the the visual quality of the game. I recommend turning them on if you can, they are quite nice. Note that you won’t be able to use antialiasing with the Full-Screen Glow Effect. Antialiasing blends the jagged lines that appear because of the nature of monitors. I prefer antialiasing over the glow effect, but it is quite fillrate (pixel processing) intensive. If you want to see what antialiasing looks like, go to start > settings > control panel > display > settings tab > advanced. Where the option is in there depends on your video card driver.

Trilinear Filtering: Improves the look of textures when they are shrunken or enlarged. I recommend turning this on.

Vertex Animation Shaders: Turn this on if you can! This makes all of the character animations be calculated on the video card itself, taking the load of the processor. In almost every case this will improve performance. Smooth Shading is up to you, but I prefer to have it on.

Vertical Sync: Eliminates the “tearing” effect caused by the screen drawing at a different rate than the monitor. In most cases this is done by slowing down the rendering speed to something that divides evenly into the refresh rate. Unless you have a lower than average frames per second, I recommend turning this on.

Triple Buffering: By default, World of Warcraft uses double buffering. This means that it will be rendering to an offscreen buffer while the previous frame’s buffer is presented to the screen. Adding another buffer allows the game to keep rendering if it gets a little behind, at the cost of video memory. This is something you will have to experiment with.

Hardware Cursor: Some people have had a problem with abnormally low frame rates with this option on. Technically it’s faster to have it on, but the difference is probably so small it’s unnoticable.

Whew, that was longer than I expected. Hopefully you now have a better idea of what everything does for your World of Warcraft experience.

If anyone wants to compare, here are my system specs:

CPU: Pentium 4 2.00 GHz
Video Card: Radeon 9600 XT 128 MB
RAM: 1024 MB
Sound Card: Creative Sound Blaster Audigy
Hard Drive: Maxtor 40 GB with 2 MB cache
Operating System: Windows XP

I’m running just fine with all of the options turned up and 6x FSAA.

Happy WoWing!


WoW Gameplay Discussion -

No comments: