Stuttering in Half-Life 2 - my case and solution

There are a lot of reports about stuttering in Half-Life2, and many of them have different causes. The engine seems to be a little pushy on the DirectX drivers and seems to run into multiple problems.

Here is my case and how I solved it. The central repository for other cases is here: http://www.blep.net/hl2stutter/. Unfortunately Steam/Valve in their infinite wisdom have decided to make links to their forum not work anymore, so many of the solutions listed there are not readily available. Great service. Not... Why would they deliberately disable linking to solutions to problems with their software? Is there some law companies have to do stuff like that after they grow big and successful?

What happened, symptoms?

In my case the game would at least once a minute hang for about 5-10 seconds. Picture doesn't move, is frozen with some mispainted textures (usually hanging free in the air), and there is a sound loop. Usually the pause would have two phases in which one sound would loop for the majority of time and then the remaining time would be looped by a second sound.

When did that start?

When I exchanged my NVidia GeForce 5900 XT for a GeForce 6800 Ultra. I bumped up the video settings and lowered them again in an attempt to fix it but it would not help. I used the same drivers for both cards, so that wasn't it either. Neither did reinstalling the drivers (same version since I already had the newest, 66.93) help. Nice feeling after that upgrade I was so looking forward to.

How to solve?

Set sound quality to "low" (was "high"). Play game, stutter doesn't appear anymore. Set back to "high" (original setting), stutter does not reappear. Yes, it works on exactly the same audio and video settings as before, the act of switching audio back and forth fixes it. This is for a video card change, I didn't do anything about the sound.

Other trouble and how to solve

After solving this I noticed that parts of the HUD display are missing (ammo count etc.). I deleted the game contents (from the Steam menu, right-click on game) and then re-downloaded the game from Steam. Worked well, fixed the HUD problem and I didn't lose settings or savegames either.

Hardware and software spec

For your reference, here is exactly what gaming-relevant hardware I had:
  • Athlon 64 3400+ Newcastle 2.4 Ghz 512 KB cache Socket 754
  • Asus K8N-E Deluxe
  • 2x 512 MB PC3200 ECC RAM
  • PCI Als4000 soundcard used for games (onboard sound not used)
  • Video card changed from NVidia GeForce FX 5900XT to eVGA GeForce 6800 Ultra, drivers 66.93 for both cards
  • Machine also has additional PCI network card (both PCI and onboard in use)
  • PCI TV/video in card (Hauppauge BT848 something)
  • Adaptec 2940 for CD drives (harddrives on onboard IDE)
  • Black Krups Duo Filter coffeemaker (in 19" rack and with UPS)
  • Windows 2000 with what I think is all patches as of January 2005. No components are or have been overclocked.

    The Steam opinions section

    Since everybody likes to publish their opinion on Steam I can as well get along and offer my thoughts.

    Generally speaking I think it's great, mostly because I hate CD checks, I hate running around to change CDs in my PC. I have 6 CD-ROM drives in my DooMStation errr I mean experiments and development computer. But that's no real solution either as I have more than 6 games requiring the CD. And no, the computer case is not reachable from my seat. Downloading the Steam games solves this, worked well for me and was fast enough (Comcast Cable). I didn't have any registration trouble either.

    Steam as a distribution concept also leaves more money for the developer, I like that, too.

    However, there are very serious implementation braindeaths in the current incarnation of Steam.

    I have all my Windows software installed on a network drive and I only have a small boot drive for Windows (which I occasionally wipe out). That works for all software I have including all games - except Steam. And yes, my network drive is faster than the local drive. The local drive is about 52 MB/sec, the network drive 93 MB/sec , and the Ethernet card is not on the PCI bus (NVidia's chipset internal Gigabit Ethernet).

    Anyway, so no network drive install for Steam. I check the minimum space requirements, kick a Linux partition off the local drive and install Steam there, after it had the required disk space. That should do it, right?

    Nope, that requirement is Steam only, without the Steam games. It insists on putting the actual games into the same directory, and that is space I didn't have since I just custom designed a partition for what Steam said is its space requirement. How idiotic is that? Steam lets you install somewhere where there is no space to actually gets games and there is no option to move.

    OK, so I want to play Half-Life 2 and I put some random 160 GB disk I had floating around into the Windows box. But as I said there is no option to move Steam and I didn't want to delete and reinstall it, fearing that this would disable the account I created (and void the dollars I had already payed for HL2, HL/Steam, Opposing Force etc.). The information whether you can do that wasn't readily available. I fixed it by moving the data under Linux and manually messing with the drive letter order in Windoze. But really that can't be end to Steam's wisdom?

    As noted earlier in this page, Steam also appeared to have made a customized install of the game which didn't work right after I changed the graphics card and had to be re-downloaded. So what happens if I want to fire up HL2 in 10 years, it is not available from Steam anymore and I have new hardware? I think I would really prefer that they download an installer (that you can archive forever) and make a customized install from there, as opposed to customize what is downloaded. Actually I wouldn't just prefer it, I would say it is my legal right after purchasing, not renting, the game. I didn't pay for the right to play this for a limited time, I bought it and it is my right to play it as long as I want.

    So how does it look on the 6800 Ultra?

    To be honest, not much different from the FX 5900XT. I used the patch floating around the net to use the DirectX9 shaders on the FX card, at the cost of getting down to 16 bits color. I actually noticed that some shades didn't look good (e.g. visibly color-shaded puddle surfaces) and tried to back it out. But I don't know enough about the HL2 engine to say whether that worked, I honestly don't know whether I ended up playing on the FX with that patch in effect or not.

    But anyway, from random screenshots I would only tell the Ultra from the resolution and AA settings, unless I would look directly at a small water surface, e.g. a puddle in a complex land environment. The big water surfaces were OK. I didn't notice any disturbingly distorted textures due to lack of enough anisotropic filtering on the FX either.

    I am generally not very sensible to video quality, so your mileage may vary greatly. And of course the 6800 Ultra has a lot higher resolution and AA/AF settings.

    In my opinion, the GeForce FX 5xx0 bashing around Half-Life 2 is greatly exaggerated. Note however that the FX 5900XT has quite some muscles compared to lower FX offerings, especially memory bandwidth which is important for many HL2 things. Furthermore, the original fan on the FX 5900XT reference design sucks. If I want to hear sounds like that I hang out on aircraft carrier flight decks.

    Contact

    If you have comments, corrections or questions, please mail

    cracauer
    at
    cons.org

    There are paranoid spamfilters there, so if you use html-only mail, lowercase-only body and similar indicators of low quality mails don't bother mailing.

    And don't complain about too many smileys, I don't know of no smileys.