Halo the game was originally slated for the PC and Mac when suddenly the developer Bungie was taken over by Microsoft and Mr Gates deemed the game would be an "X-Box exclusive". X-Boxers everywhere drooled in anticipation and when it finally arrived in late 2001 it was highly praised by all as one of the best first person shooters on any platform. As a PC gamer I remember being slightly jealous. Where was the justice? Damn those console jockeys!
Well now it's happened - Halo: Combat Evolved has finally hit the PC courtesy of a console port by the guys at Gearbox. It brings with it a whole bunch of fun, action anda range of performance issues? Oh well, nobody said being a PC gamer was easy. Slip into your mechanized suit as within these pages I provide you with all the resources necessary to get Halo running the fastest it possibly can on your PC.
Note: This guide refers to the latest version of Halo Version 1.0.8.616. Aside from a link to the latest patch, this guide has not been revised for several years.
Before getting into any game-specific settings and tweaks, this section covers the obligatory system optimization information I include in all my guides. If you've followed this advice recently, you can skip this section.
Many people report problems with this game and in almost all cases these are due to general system issues and not the game itself. With that in mind I strongly urge you to take some time and follow the advice below if you truly want this game, and indeed every other game you own, to run at its fastest and most trouble-free.
The place to start is my: TweakGuides Tweaking Companion. The totally revised TweakGuides Tweaking Companion is the complete system optimization guide for Windows XP users. It contains an enormous amount of detailed descriptions and resources together in one free 175 page downloadable PDF file. Everything from the correct installation of Windows and critical software and drivers, through to recommendations for every significant setting in XP, all the major performance, visual and convenience tweaks, and descriptions of XP's functionality. The guide contains dozens of links to major free applications for optimizing and maintaining your system, as well as to a vast range of resources for finding out more about your PC and troubleshooting PC problems. Basically the TweakGuides Tweaking Companion is the mother of all Windows XP tweak guides and system optimization guides.
If you've ever wondered what common graphics and display settings like FPS, VSync, Refresh Rate, Antialiasing and Anisotropic Filtering are, and how they really work, then check out my Gamer's Graphics & Display Settings Guide for all the details in an easy to understand format. The guide also gives you a rundown on exactly how a game goes from a being a set of files on your hard drive to a 3D image on your screen, including relevant performance tips.
Finally, if you run an ATI or Nvidia graphics card, I have written two comprehensive guides which you should check out: the ATI Catalyst Tweak Guide and the Nvidia Forceware Tweak Guide. These guides cover absolutely everything about the latest graphics drivers, how to set them up correctly, as well as advanced tweaking, overclocking and benchmarking tips. They're a must-read for configuring your graphics card correctly.
The above information really will serve you well in the long run, not just in this game. If you don't optimize your system and keep everything updated and maintained correctly you will keep running into "mysterious" problems time and time again. Do yourself a favor and when you get a chance spend an afternoon or two optimizing your machine the right way with the guides above.
The next section goes into more detail about specific troubleshooting tips which address common performance issues with the game.
Official Support: To get official support for Halo, the first place to check is the Halo Support Site. Also make sure you read the Readme.rtf file in your base Halo directory for information on specific issues and fixes with particular hardware. For example, on Radeon 9800 Pro cards it is recommended that the mipmap detail level in the ATI Control Panel be set to High Quality otherwise there may be issues. Clearly if you ignore this advice from the developers themselves you will run into problems.
If every time you try to run Halo you get a dialog box similar to the one in the picture above, then there are three main solutions:
1. The quickest is to set any refresh rate altering programs or settings you have back to the default Windows settings. For example, if you run Refresh Force (which I highly recommend you do), open it up, click on "Restore Original Settings" and then click Apply. Do this for each monitor listed. If you're using the refresh rate override in your graphics driver's control panel, turn it off.
2. If you don't want to disable the refresh rate fix and you're running WindowsXP then you can run Halo in Win98 Mode. Do this by right clicking on Halo's Icon, select Properties, go to the Compatibility tab and tick the "Run this program in compatibility mode" box and select "Windows 98/Windows ME". This may also improve performance, but I'm not certain the impact it has on visual quality (i.e. whether it forces lower level Shaders for example). Thanks to Cyfun for the tip.
3. Again if you don't want to disable your refresh rate fixes, the final method involves using the -Vidmode argument. See -Vidmode under the Command Prompt Arguments area of the Advanced Tweaking section for more details.
Note: As of the 1.03 Halo Patch onwards, refresh rate problems are addressed automatically by the patch. If you've updated to 1.03 and still get this error then try the troubleshooting tips that follow as it is likely not caused by your refresh rate.
If a dialog box appears every time you try to run Halo, but it's not related to the refresh rate error (see above) then you firstly need to make sure your hardware meets the minimum system requirements. If you have a low end system that's the likely cause of this problem. For example make sure you have at least a 32MB graphics card capable of Hardware Transform and Lighting (e.g not a TNT2). Another common requirement is having relatively new (if not the latest) graphics and sound drivers, and DirectX9.0b installed. See The Essentials section above for details on where and how to update these.
Latest Patch: Make sure you've patched Halo to the latest version and if you're using any unofficial patches or cracks that you remove them (see the Patches section).
Antialiasing and Anisotropic: If you have mysteriously low frames per second despite being certain that your hardware is capable of more, then one place to check would be your graphics card's Antialiasing and Anisotropic Filtering settings. These are explained in detail in my Gamer's Graphics & Display Settings Guide. Even 2x Antialiasing for example can turn Halo into a slideshow on older systems, depending on your hardware and in-game settings. For maximum framerates set both AA and AF to 0x or 'Application Controlled' in your graphics card's control panel.
Virus Scan: Do a full scan of all your files using a free virus scanner such as AVG Antivirus, a free trojan cleaner such as A-Squared, and a free spyware cleaner such as Ad-aware. Viruses and trojans can cause unexplained behavior and general file corruption, so it's best to make sure your system isn't infected before moving on to other troubleshooting measures. However make sure to disable any background scanning programs once you're done (See Background Programs below). More details of securing your PC are in the PC Security chapter of my TweakGuides Tweaking Companion.
Background Programs: Disable all background applications, especially virus, trojan and spyware scanners and messaging utilities. These applications can and do use up valuable CPU resources, take up precious RAM, cause memory conflicts and crashes to desktop, and lag online play, but most importantly they interfere with read/writes to your hard drive effectively slowing it down and causing more in-game freezes and increasing load times. Full instructions on how to identify your startup programs and services and how to correctly disable unnecessary ones are in the Startup Programs and Services chapters of my TweakGuides Tweaking Companion.
Overclocking: If you have overclocked any components on your system and are having problems, set everything back to the default speeds and try running the game. If you don't experience the same problems at default then your overclock is the primary culprit. In particular, read through the Overclocking and Benchmarking & Stress Testing chapters of my TweakGuides Tweaking Companion for tools and instructions on how to correctly stress-test an overclocked system and determine which components are being pushed too far. Even if every other game and program you run works just fine at your current overclock, Halo may well be crashing because of your overclock.
Defragging: Make sure that after you have installed Halo that you run through the Regular Maintenance procedures detailed in my TweakGuides Tweaking Companion. If you only do one thing on that list though, make sure you run the Windows Defragmentation utility after installing a large game like AA (which takes up over 2GB of disk space). Defragging ensures that the game's files are all on the same place on your hard drive, greatly reducing loading pauses/freezes and loading times. It may take a little while but it is well worth it.
That's just a basic rundown of troubleshooting tips. Read the remainder of the guide for more useful information and of course although I've said it a dozen times (you want to kill me by now, right?) you need to go through my System Optimization and WindowsXP tweak guides to make fully certain you've covered all your bases. More often than not a single inappropriate setting in the BIOS or Windows can severely affect your performance regardless of any amount of tweaking in the game.
Official Patches
The developers of Halo have released a patch which updates Halo to fix bugs and generally improve the game since its release. You need only download and install the latest Halo Patch to update to the most recent version of Halo which is Version 1.06.
There are three ways you can update your game. You can do it manually by downloading the latest 4.7MB patch from the Halo Site. To install it, make sure Halo is not running then simply double click on the patch file.
Alternatively, you can simply start Multiplayer on Halo and it will automatically search for updates and inform you if one is available. If on the other hand you just want to search for an update without running Halo, you can run the Haloupdate.exe file in your \Halo directory and it will do the same thing.
In all of the above cases, make sure you are not using any "No-CD" patches or cracks or the update will not install correctly.
Update: After several years, Bungie has released a 1.0.8.616 Patch which removes the CD check from the game and fixes several more bugs.
Mods
Halo is one of those games (like BF1942, UT2003 and Quake3) which make it possible for fans to create their own maps, or "mods" files which change the appearance, gameplay and features of a game. Since Halo is relatively new to the PC, it will take some time for fans to use the editing tools to create a raft of mods and maps, but rest assured that people will indeed be doing that, and their results will be available for you to download for free to enhance your Halo experience.
See the links section at the end of this guide for fan sites and mod sites where you can check on the progress of these mods/maps and instructions for installation should accompany each mod. Typically this involves copying the .map file into your Halo's \Maps directory.
In this section we go through all the Halo PC in-game settings, providing a brief description of each one, and their impact on performance if any. The settings under the Audio Setup and Video Setup areas in particular have a significant impact on performance. Many of the descriptions are based on the Official Halo FAQ and the Halo Manual.
Under the main Halo screen, clicking on Settings brings up a sub-screen with nine areas. Each of these areas is separately covered below:
Change Name
Here you can rename your existing profile. Note to delete the existing profile or create a new one, you must go to the Profile item under the main screen.
Control Setup
Here you can decide which device you will use to control your character, and what the key assignments will be under each category (Movement, Combat, Actions, Misc.). The default Keyboard/Mouse combination is excellent and almost all of the default key assignments are quite intuitive.
Gamepads
If you don't have a gamepad hooked up to your PC, this option will be unavailable (faded out). If you do have a gamepad connected, set up the button assignments here. I personally believe the Keyboard/Mouse combination provides greater accuracy in Halo than a gamepad.
Mouse Setup
Horizontal Sensitivity: relates to the sensitivity of the cursor on screen to side to side movements of your mouse.
Vertical Sensitivity: relates to the sensitivity of the cursor to forward and back movements of your mouse.
In general I've noticed the mouse can be quite slow in Halo, so set these high enough to allow fast reactions. Some of the mouse sluggishness can be due to fps problems, so see the Video Setup section below. Also see the Advanced Tweaking section for mouse acceleration tweaks.
Invert Vertical Axis: when set to Yes will mean that moving the mouse forward will make your character look down and vice versa. Set to taste, has no impact on performance.
Audio Setup
Master Volume, Effects Volume, Music Volume: are all fairly self explanatory. I recommend you set the ratio of Effects to Music volume first - e.g. if you want music to be softer than the special effects. Then use the Master Volume control to control the overall volume level based on taste. These settings do not affect performance. Setting these to 0 does not disable music/sound for a performance boost. See the Advanced Tweaking section for details of the -nosound argument to do that.
Hardware Acceleration: if you have a sound card which supports hardware acceleration, and most major sound cards do, then set this option to Yes. This will improve audio quality and overall performance. If this option is unavailable (unsupported), or if set to No then Halo uses software audio which places more of a load on your CPU. Disabling Hardware Acceleration also disables the Environmental Audio option (see below).
Sound Quality: there are three settings - Low, Medium and High available under this option. The Low setting provides basic audio quality, with Medium providing better quality and positional (Doppler) effects. High provides the best quality giving full 3D audio. If you're running with Hardware Acceleration enabled (see above) then the performance difference between these three settings is minimal, hence I'd recommend either Medium or High. If you're running in software mode then for best performance set to Medium or even Low if you have a slow CPU. Remember, the lower the Sound Quality setting, the less you can use audio to pinpoint enemy locations and this can be a major disadvantage especially when playing online.
Environmental Sound: if supported by your sound card, you can enable Environmental Audio (EAX) to improve the realism of audio effects. Enabling EAX will impact on performance to different degrees, based on how well your sound card supports EAX. For most recent sound cards with full EAX 3.0 support such as SoundBlaster Audigy/Audigy 2 cards, the performance impact is minimal. I believe the way EAX enhances the playing atmosphere is worth enabling it if it's available to you.
Sound Variety: depending on whether you choose Low, Medium or High, the variability in weapon sounds will be affected. That is, at High several slightly different versions of the same weapon firing sound will be played to provide extra realism. The lower the setting, the more generic the weapon sound becomes. This setting has a noticeable impact on performance if you're running a slower CPU and in particular if you have low RAM (e.g. 128MB), since more sounds take up more memory. For a good balance of performance/variability choose Medium, and for low end systems or just to get a boost in performance, choose Low.
The next page continues the in-game settings descriptions.
Video Setup
Resolution: as with most other games, the resolution determines how many pixels (the individual dots which make up the image on your screen) are displayed. A resolution of 1024 x 768 means 1,024 pixels wide by 768 pixels high. Obviously the higher the resolution - the more pixels - the more detailed and clearer the game image, but the greater the performance hit on your system. Resolution affects Halo greatly, so if adjusting other settings don't improve your frames per second (fps) enough then lower your resolution a notch or even two. Note also that some of the effects below will affect performance to a greater degree if you are running at higher resolutions than if running at lower ones.
Refresh Rate: this determines how many times your monitor "refreshes" (redraws) the image on the screen. For example, 85Hz = 85 times a second. Each resolution has a maximum refresh rate which your particular monitor is capable of - see your monitor's manual for details of supported refresh rates. This setting can only affect your fps if you use the VSync option under the Framerate setting (see below). However to minimize eye strain, make sure you set the refresh rate to the highest possible for your monitor at your chosen resolution.
Framerate: the options under this setting don't impact on performance as such, but can quite noticeably reduce your fps. There are three settings: VSync, No VSync and 30fps. There are explained below:
Which of the above you choose depends largely on your taste, however I find it hard to recommend the 30fps mode. Since it doesn't attempt to juggle details to maintain a consistent 30fps, in effect it is just a cap on your framerate at 30fps, which is hardly useful. The VSync option is the one I would recommend for the best balance of performance and visual quality, however if you don't care about or notice any "tearing", then the No VSync option provides the best choice. I have also noticed a minor performance boost using No VSync over the other options.
Specular: if this option is unavailable to you, then it means your graphics card does not support this advanced lighting technique. Specular lighting is also referred to as "Dynamic Glow" in other games and in Halo the most noticeable effect this feature provides is the way metallic surfaces have a reflective sheen which reacts to lighting and movement. It can look quite good, but provides a massive performance hit in many cases.
Look at the two pictures above to see the performance and visual quality difference. Both were taken on a Pentium4 2.66Ghz/Radeon 9800 Pro/1GB of RAM running Halo at 1280x1024 with every setting at maximum and no AA or AF. The picture on the top is with Specular on. Note the reflections on the floor. The image on the bottom is with Specular off. Note the difference in the floor. More importantly however, observe the frame per second counter at the top right of each picture (using FRAPS) and the whopping performance improvement (81 fps vs 52 fps) given by simply turning Specular off.
Specular lighting will provide the biggest performance hit in places where there are a lot of metallic/reflective surfaces (inside ships, when lots of troops wearing armor are on screen, etc.). It has a much smaller performance hit outdoors. I strongly recommend that you set Specular to No (if available) because although it's nice it's just not worth the performance hit.
Shadows: if this option is unavailable to you, then it means your graphics card does not support this technique for rendering shadows. Setting this option to Yes will render detailed shadows in the game, but at the cost of a noticeable drop in performance. The performance hit is most noticeable in crowded scenes. Set Shadows to No (if available) to improve performance, however if you have a medium to high end system I recommend leaving Shadows on for realism.
The next page concludes our look at the in-game settings.
Decals: these are the marks left on surfaces such as bullet holes, scorch marks and blood. The more gunfire hits enemies and various surfaces, the more decals will be generated, and although they are eventually faded out, the sheer number of decals on the screen at one time can reduce your performance somewhat. If you want to improve performance, especially in big fight scenes or when online with a lot of players, set this to No, though it will diminish the atmosphere of the game somewhat.
Particles: these effects are the basis of explosions, steam, smoke, sparks and weapons fire among other things. The choices for this setting are Off, Low and High. With particles effects set to Off, you will get a performance improvement however the game will look very unrealistic. The most noticeable impact is on weapons fire which will be non existent. When set to Low, some particle effects are generated, but again the look is not very realistic. However if you need the performance boost, Low is a reasonable compromise. High is recommended for total immersion in the game although it impacts on performance especially during heavy fighting.
Texture Quality: textures are the images which cover every surface. For example the grass on the ground is a texture, as are the walls, floors and sky. The three levels for texture quality - Low, Medium and High - determine how realistic and detailed these textures look. The higher the texture quality setting, the greater the impact on your performance, particularly if you have an older 32MB or 64MB graphics card. Given that some of the textures in Halo are relatively poor quality as they were ported over from the console version, I would recommend at least the Medium setting for most people. If you have a high end graphics card set textures to High for a minimal performance hit.
Gamma: use this setting to adjust the brightness of the Halo game image. It has no impact on performance, and can be adjusted to taste.
Network Setup
Connection Type: set this to the type of Internet connection you have on your PC. If you don't know the name or type of your connection, or don't see it listed here, check your upload speed with your ISP (in kbps) and match it as follows:
56K - 28kbps to 56kpbs
DSL/Cable (Low) - 128kbps
DSL/Cable (Avg) - 368kbps
DSL/Cable (High) - 512kbps
T1/LAN - 768kpbs
Choosing the wrong connection speed, particularly if you choose one higher than your existing connection, can give you a great deal of "lag" in online gameplay.
Server Port, Client Port: you can enter the port number for the client or server, however if you don't know what a Port is or aren't given specific instructions to change these numbers by the server administrator, leave them at default.
Change Color
Lets you select the color of your character in Multiplayer matches only. Does not affect the color of the player in the singleplayer Campaign mode, and has no effect on performance.
About
Shows the current build number of your Halo game. Useful for seeing which version Halo has been patched to.
The next section goes into more detail about Advanced Tweaking for Halo.
You've come to the part of the guide where we examine some neat things you can do with Halo which aren't available to be tinkered with in the in-game settings. Once again, I must stress there are no magic settings we'll find to double the game's speed, but there are a few tweaks here which should make life easier for you, whether in noticeably improving performance or overcoming any problems you have with the game.
Command Prompt Arguments
This section isn't about the disagreements I've had with my command prompt over the years. There are far too many of those to list here. Rather, the file Halo.exe can be run from a command prompt with a number of arguments (or switches) which enable/disable certain functionality in the Halo game. The full list of arguments are provided further below, but let's just look at precisely how to use them first.
To open a command prompt, go to Start>Run and type "Cmd" (without quotes). This brings up an MS DOS command prompt. To start Halo using one of the arguments, type the full path to your Halo.exe file inside quotes (""), then follow it with an argument -argument. Make sure the argument is one space outside the quotes:
Now given most of us don't run our games from DOS prompts anymore, the usefulness of this tweak is that you can insert the arguments into the icon you use to launch Halo. Go to your Halo icon, right click on it and choose Properties. Under the Shortcut tab, in the Target field, immediately after the path to your Halo.exe and again one space outside the last quote mark, insert as many arguments as you like, each separated by a space from the other.
The full list of arguments can be seen by using the -? argument, and they are described in detail below:
-? Displays a list of all arguments.
-Nosound Disables all sound. This can improve performance on older machines, particularly if you have a slower CPU and are not using a recent sound card. Not recommended for regular Halo gameplay for obvious reasons.
-Novideo Disables video playback. Should remove the playback of the startup videos when you open Halo.
-Nojoystick Disables joystick/gamepads. No impact unless you have a gamepad or joystick connected to your system, and then it disables it. Can provide a slight boost in performance but is more useful for troubleshooting.
-Nogamma Disables adjustment of gamma. The in-game gamma slider will not affect the brightness of the game if this switch is used.
To use the following switches optimally, you must be aware of what your graphics card's DirectX Pixel Shader capabilities are first. A basic definition of Pixel Shaders and Vertex Shaders is here. In layman's terms Pixel Shaders can create incredibly realistic effects, such as shimmering water, or realistically textured and shiny walls. But the downside is they require hardware which supports the Shader version being used or the effect cannot be rendered. Check your graphics card's box, documentation, or do a search on Google for the card's specifications, looking in particular for which version Pixel Shader it supports.
Then using the arguments below, you can force your graphics card to use a lower shader version to gain better performance at the cost of some visual quality. Of course if the shader version you're trying to force is above, or equal to your card's maximum shader support then the argument will do nothing for performance.
-Use20 Forces the game to run as a Shader 2.0 card. This shows all graphical effects in the best possible visual quality. You will need a recent graphics card with full PS2.0 support such as the Radeon 9500 series or higher, or the FX 5600 series or higher. PS2.0 gives the biggest performance hit but runs Halo exactly as the developers intended it to be seen.
-Use14 Forces the game to run as a Shader 1.4 card. If you have a relatively new graphics card such as those mentioned above, then forcing PS1.4 mode on them will improve performance at the cost of some visual elements, namely:
This doesn't reduce visual quality greatly and can improve performance, particularly on lower end recent cards. Obviously if your card only supports PS1.4 at the most, it will already be running in this mode.
-Use11 Forces the game to run as a Shader 1.1 card. Once again, forcing this lower Pixel Shader mode on cards which support PS1.4 or PS2.0 will improve performance at the cost of the following elements:
This can significantly improve performance on such cards, but older cards will likely already be running with such effects removed.
-UseFF Forces the game to run as a fixed function card. This means that that regardless of your graphics card's capabilities, the game will run with the most basic effects. Along with the PS1.1 effects disabled above, this results in the removal of the following elements:
This can provide a significant performance improvement, however it is obviously at the cost of visual quality and effects. Older graphics cards (such as GeForce2 series) will likely be running under this mode anyway. If you really crave a performance improvement use this switch. I recommend that you only experiment with the above switches if you've tried most of the other tweaks in this guide. If you have an older or less powerful graphics card, it is already likely to be running in PS1.1 or Fixed Function mode anyway, so these switches are only really useful for those with cards which support PS2.0 or PS1.4 but who require a boost by forcing the card to run a lower mode.
-Safemode Disables as much as possible from the game. This is meant for troubleshooting. If your game doesn't crash, freeze or have problems in safe mode then this indicates there is some setting in Halo which is conflicting with your system, or your graphics/soundcard drivers. See the Troubleshooting section for more help.
-Window Runs the game in a window, as opposed to fullscreen. Not recommended as you may experience problems running in windowed mode.
-Width640 Forces the game to run at 640x480. If you want to force the lowest resolution possible on the game use this option, but I recommend using the Vidmode switch below to better tailor your resolution and refresh rate.
-Vidmode [W,H,R] Forces the game to run at the width (W), height (H), and refresh rate (R) specified. For example to force the game to run at 1024x768 with 100Hz refresh rate, use -Vidmode 1024,768,100. Make sure your monitor supports the settings you choose here, especially refresh rate. If you choose a refresh rate which exceeds your monitor's capabilities at the specified resolution you will get an "Out of Frequency" error and may damage your monitor.
There is something very important about this option - it overcomes the error caused by running a refresh rate fix or refresh rate override (see the Troubleshooting section). By using this switch you can run Halo at your chosen resolution and refresh rate without having to disable your refresh rate fix or refresh rate override. Note that you should make sure the Resolution and Refresh Rate settings under the in-game Video Setup screen are set to match the ones specified here. Also note that as of the 1.03 patch this shouldn't be necessary as the refresh rate issue is addressed in the patch.
-Adapter x Forces the game to run fullscreen on a multimon adaptor.
-Port x Server port address used when hosting games. See the Network Setup settings under the In-Game Settings section.
-Cport x Client port address used when joining games. See the Network Setup settings under the In-Game Settings section.
-IP x.x.x.x Server IP address used when you have multiple IP addresses.
-Screenshot Enables the "Print Screen" key to generate screenshots. By using this switch you will enable the ability to take screenshots within Halo by pressing your Print Screen key. Each screenshot will be saved in .tga format in a new Screenshots directory under your \Halo directory.
-Timedemo Runs four movies and writes out timedemo.txt. See the Benchmarking and Conclusion section below for more details of how this works.
-Console Enables the debugging console. This console allows you to access a range of commands in-game for troubleshooting and adjusting settings. See the Console Commands section below for more details and a full list of commands.
That covers all the command prompt arguments. As you can see, there are some very useful switches there, most notably the -vidmode one. Experiment a little to see which helps you with performance and troubleshooting, then insert the ones you want in your Halo startup icon and they'll be applied every time you run the game.
Mouse Issues
This deserves its own section because upon starting up Halo the first thing I noticed above all else was that the mouse seemed to be very slow and took a lot of physical moving to move the cursor around. I'm sure many of you have also experienced this in Halo and it can be very frustrating. Note that there is a distinction between a slow mouse, and mouse lag. A slow mouse is one which is not very sensitive to movements, while mouse lag is when the mouse has a delay in responding to any movement. You can obviously have both issues at once, but the tweaks below address either one or the other, or both:
- The biggest cause of both a slow mouse and mouse lag is low fps. You will need to adjust your video and audio settings and reduce your resolution as necessary following the instructions in this guide to increase your fps, particularly in crowded/highly detailed scenes. For example, by dropping my resolution from 1600x1200 to 1280x1024 and turning off Antialiasing, Anisotropic Filtering and Specular I was able to make my mouse a lot more responsive. When your system has problems drawing a scene, it also has problems updating mouse movements on the screen, so the two issues are closely related.
- To further address a slow mouse, you will need to increase the Mouse Sensitivity settings (both Horizontal and Vertical) under the Mouse Setup section of the in-game Settings screen. I had to raise mine to 10 for both just to get a playable mouse.
- If your mouse is still slow and takes a lot of movement to move the cursor, the next step is to alter your Mouse Acceleration setting, accessible through the Console (See Console Commands section below). By increasing the Mouse_Acceleration value you will get a mouse which responds more rapidly to fast movements. The faster you move your mouse the more the cursor will accelerate. However adjusting mouse_acceleration in the console is a temporary solution as the setting will reset to its default (of 0.700000) each time you restart the game, so we need to find a way of making it "stick". The way to do that is:
1. Create a new text file called "Mouse.cfg" (without quotes) in your default \Halo directory.
2. Edit this text file with something like Notepad, and insert the following command:
mouse_acceleration x
Where "x" is a number you will need to determine by experimenting with the mouse_acceleration command in the console while in-game. The higher the value (e.g. mouse_acceleration 20) the more responsive the mouse to rapid movements. The lower the value the less acceleration you'll experience as you move the mouse. Hence lower values will make mouse movement smoother and more consistent, but higher values can help those who feel the mouse is unresponsive to get the mouse to react quicker to fast movements.
3. Close and save this mouse.cfg file and go to your Halo icon. Right click on it, select Properties and under the Shortcut tab, in the Target box insert the following argument one space outside of the last quote mark or argument (See the Command Prompt Arguments section above for more details on how to use arguments):
-exec mouse.cfg
4. Halo will now start each time with the mouse acceleration set to the value you've assigned in the Mouse.cfg file.
- There is one more mouse tweak left, and it applies more to mouse "lag" as opposed to a slow mouse. Mouse lag is caused usually by graphics issues, when your graphics card is struggling to draw everything fast enough, especially online. The solution involves editing the Config.txt file which already exists in your base \Halo directory. Before you edit this file, make a copy of it and save it somewhere for backup purposes as it's very important.
Next up, find the entry for your graphics card. For example, I found two entries for my 9800 Pro: 0x4e68 = "Radeon 9800 PRO". Under each entry for the card, insert the following:
DisableBuffering
Break
So for example, if you're using a Radeon 9600 card, here is what that section of the Config.txt file would look like:
0x4172 = "Radeon 9600"
DisableBuffering
Break
0x4150 = "Radeon 9600 PRO"
Note if there is any existing text under the card entry, don't alter it - simply insert DisableBuffering in the last line before the word Break.
This reduces mouse lag, but can reduce your fps as well. Only use this setting if you have tried reducing some of your graphics settings and you still have no luck.
Well that's it for the Advanced Tweaking. The next section covers the Console Commands for Halo.
There are several useful commands which can be accessed through Halos built in console. To open the console in Halo, you have to do the following:
1. Use the "-console" switch after Halo.exe (see the Command Prompt Arguments section above for a detailed explanation).
2. Run Halo and then press the ~ (tilde) key. A small pink "Halo(" text prompt will open on the bottom left of the screen.
3. You can now enter a console command at this prompt. Pressing ~ closes the prompt and returns you to the game.
A full list of Console commands is provided below with a brief explanation.
General Commands
TAB - Shows the list of available console commands.
Help [command] - Enter the name of a console command after Help and it will display information about its function (e.g. Help Cls). Some commands have no help.
Cls - Clears any console text from the screen.
Rasterizer_fps [1/0] - Shows the number of average and actual frames per second (fps) being displayed. Rasterizer_fps 1 enables the display, Rasterizer_fps 0 turns it off again.
Mouse_acceleration [value] - Sets the degree to which your mouse movements accelerate the cursor on screen. The higher the number, the faster the mouse responds to rapid movements. See the Advanced Tweaking section for more details on how to use this value.
Quit - Closes Halo and exits to your desktop.
Multiplayer Only Commands
Connect [IP:Port] [Password] - Attempt to connect to a server with the IP:Port address and Password specified.
Disconnect - Disconnects from the current server.
Rcon - Reconnects to the last connected server.
sv_ban [player name or index] - Ban the player with the given name or index. However, this doesn't kick them out of the game however.
sv_banlist - Show the list of banned players.
sc_end_game - End the currently running game. This will proceed to the next game in the map cycling game entries list.
sv_kick [player index or name] - Kick the player with the given name or index out of the game.
sv_map [map name] [game variant] - Start a game with the indicated map and game variant. When the game is over, this game will restart itself. This command supersedes any map cycle the server has.
sv_mapcycle - Show game list.
sv_mapcycle_add [map name] [game variant] - Append this game entry (map name and game type) to the end of the game list.
sv_mapcycle_begin - Start the map cycling with the specified game entries.
sv_mapcycle_del [index] - Delete the game entry from the map cycling game list (use sv_mapcycle to get game IDs).
sv_mapcycle_timeout n - Time in seconds to restart the next game in the game list after game is finished (this determines how long clients are sitting at the post carnage report screen).
sv_map_next - End the current game and skip to the next game in the map cycling game entries list.
sv_map_restart - Restart the game.
sv_maxplayers n (Default value is 16) - Set the maximum number players. This should be done in the init.txt file, before map cycling begins.
sv_name [string] (Default value is "Halo") - Set the server name (15 characters max). This should be done in the init.txt file, before map cycling begins.
sv_password [string] - Set password for server. This should be done in the init.txt file, before map cycling begins.
sv_players - List the players and their indices for reference in banning and kicking players from the dedicated server.
sv_public [true, false] (Default value is true) - Determine if the server will be listed in the GameSpy Master Server list (true) or not (false). This should be done in the init.txt file, before map cycling begins. Note: setting this to false is equivalent to hosting a LAN game.
sv_rcon_password [string] - Set the RCon password. To remove the password, thus disabling RCon, specify an empty string "" as the password.
sv_status [true, false] - Used to continually show the status of the dedicated server in the console.
sv_unban [player name] - Allow the player with the given name to join the server again.
The next page concludes the guide.
Benchmarking
Just as games like Unreal Tournament 2003 have a built-in benchmarking utility, Halo has a Timedemo. The Timedemo feature can be activated by using the -Timedemo switch (See the Advanced Tweaking section). Once Halo begins in Timedemo mode, it will run through four fixed cinematic sequences from the game. Once it's finished, it will create a file called Timedemo.txt in your \Halo directory. You can examine the contents of the file to see what settings were used in the timedemo, and what your average framerate for the demo was.
You can use this average framerate result to compare your system's performance with others. Note however that since people like to get a higher "score" in Halo, and since the use of the -nosound use11 switches will improve performance (at the cost of sound and visual quality obviously), that you should be careful in your comparisons and seek more full details of the options they used to make sure any comparisons are "Apples to Apples".
The best use for Timedemo in my opinion is to firstly run it to get a baseline result. Save that somewhere for reference. Then go through and tweak your Halo using this guide and my TweakGuides Tweaking Companion for example. Then run the timedemo again and see if your results have improved. If they have, then this demonstrates that the tweaks have helped. In fact any time you experiment with a setting and are unsure of its overall impact on Halo's performance, run the timedemo before and after just to be sure.
Conclusion
Well there you have it. Halo is a fun game which although admittedly somewhat late in reaching the PC, has not suffered greatly from the console port at least not if you know how to tweak it. Some of the textures do look quite poor at a distance, but at maximum settings and on a high end system the game can look magnificent, especially outdoors. I hope this guide has been of some help to you in understanding your system, and Halo, much better, and fixing up any problems you may have had in running the game smoothly.
Don't kid yourself though, just because Halo ran at around 30fps on an X-Box, doesn't mean that on a PC using much more advanced (DX9) effects, often at a much higher resolution than a television, and with better quality audio and textures that it will perform at 30fps on a GeForce3. As a PC Gamer you have to be savvy in how you setup your system and adjust your settings if you want both better visual quality and good performance.
Links
These sites are worth visiting not only for tweaking and troubleshooting information, but also to keep an eye on Halo mods and maps being developed by the community:
Microsoft's Official Halo Site
Bungie's Official Halo Site
Gearbox's Halo Technical Forums
Popular Halo Site
Halo Strategy Guides
Halo Mods