This site is a collection of information on a problem with Half-Life 2 that has plagued many
players of this otherwise excellent game. This problem is characterized by a sudden massive drop
in frame rate when turning corners or moving into new areas of the game. These drops are usually
accompanied by looping or stuttering sound during the frame rate drop which is how most people
become aware of the problem. Aside from these isolated drops in frame rate, the game is
otherwise perfectly smooth. These sudden drops kill the immersion and lead to a very frustrating
experience. Below you will find additional details on this problem, some theories, and all
responses from Valve on this problem.
Updates
Some significant news on the stuttering front... A reader sent in a link to a Valve post on the
Steam Users Forums that contains
details
of an upcoming stuttering fix being worked on by Valve. Here's an excerpt:
A fix for the stuttering problem is currently in development on Steam
Beta.
If you have experienced this problem in the past and would like to test the
updates on Steam Beta, please follow the instructions below to start Steam Beta and run
through a scenario that would previously stutter for you in and see if that problem still
occurs.
Early reports are
not universally positive but some are reporting significant improvement. Valve is requesting
feedback on this patch which can be submitted at the
Developers Wiki.
In an effort to determine how many are still experiencing stuttering, a Half-Life 2 user has put
up a poll allowing people to vote on the matter. While certainly not scientifically accurate,
the results are nonetheless interesting. You can vote here:
http://soulcake.freestarthost.com/poll.htm
Just when I thought that my stuttering ills had been mostly cured, they're back and then some. I
recently upgraded my sound card from a Sound Blaster Audigy 2 Platinum eX to a
Sound Blaster Audigy 4 Pro. The
sound card works beautifully in all my games and audio apps with the exception of Half-Life 2
where I now experience extreme stuttering as well as distorted and corrupted sound effects
followed by a complete system freeze within minutes of starting a new game. This distortion is
accompanied by
missing
buttons and
UI
elements in Half-Life 2's menus forcing me to quit by bringing up the console.
This is the same widely reported problem that I previously fixed by adjusting my
PCI Latency
Timer BIOS setting which no longer has any affect on this issue. I can rarely make it out of
the train station on the first level before my system is totally frozen.
After spending hours troubleshooting this problem, the only cure I've found is to disable
anti-aliasing, which considering
my system
specs is entirely unacceptable. The recently released
ATI CATALYST 5.1 drivers made no
difference.
I have solved my crashing problem by lowering my
PCI Latency
Timer BIOS setting to 32 from its default of 64. Since doing this I have been able to
appreciate the improvements in the most recent patch.
This patch has made a significant improvement in the stuttering issue affecting my system. While
a few hitches remain, the game is completely enjoyable now in the areas that I have seen so far.
I achieved the best results by setting
mat_forcemanagedtextureintohardware to
0.
I will continue to post updates as I progress through the game and receive additional feedback
from the community.
Well, I spoke too soon. While the game seems to have less hitching than before, I am now
experiencing complete system freezes with looping sounds at certain points in the game.
My system is 100% stable and flawlessly passes extended runs of the
Prime95 torture test and
Memtest86. My system is not overclocked and I have great
temps on the components in my system. I have absolutely no problems running Unreal Tournament
2004, FarCry, DOOM 3, Painkiller and World of Warcraft among many other games that I own.
My gut tells me that this is a driver problem triggered by something that the Source engine is
doing. In Windows NT based OSes, it is impossible for a user mode process to directly cause a
total system freeze. However, a user mode process can certainly trigger a bug in kernel mode
processes like drivers which can lead to a system freeze. I am going to continue looking into
this.
The Goal
The purpose of this site is to consolidate all available information on this issue and provide a
central resource for people experiencing this problem. The site also exists to bring attention
to this problem and to help Valve eliminate it as quickly as possible so that people can get
back to enjoying the game. Valve, please let the community know if there is anything we can do
to help.
More Details
I've collected the following points based on my own experience and the information collected
from hundreds of forum posts on this problem.
- It occurs on both Intel and AMD CPUs of all speeds.
- It occurs on systems with 2+ GB of RAM although it appears to be worse for users with 512MB
of RAM or less.
- It occurs on both ATI and NVIDIA video cards, including video cards with 256MB RAM.
- It occurs with multiple sound cards and chipsets, including the Sound Blaster Live!, Audigy,
Audigy 2, NVIDIA SoundStorm, Turtle Beach Santa Cruz, Realtek, etc.
- It occurs after disabling sound in-game, disabling the sound card in device manager, and
even after removing the sound
card entirely.
- It occurs regardless of in-game screen resolution.
- It occurs for both CD/DVD installations and installations downloaded via Steam.
- It occurs on all supported versions of Windows including Windows XP Service Pack 2.
- It occurs on all supported versions of ATI CATALYST and NVIDIA ForceWare drivers, including
the CATALYST 4.12 and ForceWare 67.02 beta drivers that contain optimizations for Source
engine games.
- There are reports that lowering in-game texture detail and/or sound quality helps. I had to
set texture detail to low before I noticed an improvement. This is unacceptable considering
my system specs.
- This issue is not the result of the in-game auto-save feature as many people
suggest. While the auto-saving may cause stuttering, the stuttering also occurs many times
between auto-save points.
- The stuttering occurs in the same spot every time but only once per the loading of that
level. I have recorded a 10 second demo
that illustrates this. When executing the demo multiple times, the stuttering occurs every
time in exactly the same spot. However, if while the level is loaded, you go back to the
location of a previous stutter, it no longer occurs.
- According to some, this problem has existed as far back as the Half-Life 2 demos that were
shown at E3. Indeed, if you go back and watch some of the footage, you can hear the audio
stuttering as new scenes are loaded.
- The stuttering occurs in Half-Life: Source which has significantly less resources to manage
than Half-Life 2.
- Vampire: The Masquerade, which is based on Half-Life 2's Source engine is also reported to
have the same stuttering issues.
After doing some extensive testing with the new patch, I have noticed a few things. First of
all, it does almost completely eliminate the stuttering on my system. It still stutters during
auto-saving, but overall it has been greatly reduced and the game is very playable for me. For
NVIDIA video card owners, there is a remaining stuttering problem that is still being worked on
and for that reason, the new in game setting that enables the stuttering fix is disabled
currently on NVIDIA hardware (see this
post by Gary McTaggart).
That being said, I have noticed an intermittent frame rate reduction with this patch. This
slowdown is particularly noticeable when looking at scenes with water. If I go into the video
settings within Half-Life 2 and make any change that forces a restart of the rendering engine,
the slowdown goes away. However in the course of playing through to a new level, the slowdown
returns until I force a video restart in game again. In the feedback that I have seen via email
and on various forums, this problem is not isolated to my system.
With this patch, Valve added a new console variable, mat_forcemanagedtextureintohardware,
which controls whether textures are preloaded into video memory during level load. By setting
this variable to 0, you end up with same behavior as before the patch. Using Fraps I compared performance with this variable enabled and
disabled to illustrate the new slowdown problem.
View Patch Performance Graphs
The first graph shows the performance of a recorded demo from the Water Hazard chapter. When the
new texture preloading code is enabled, you can see that the overall frame rate is reduced by
10-15 FPS which is very noticeable during game play.
The other two graphs are screenshots with +showbudget enabled which shows the same scene
with the texture preloading code enabled and disabled. You can see that new code causes periods
of frame rate reduction, where as the bottom graph, with texture preloading disabled, is nice
and smooth.
The end result, at least of my system, is that there is now a tradeoff. I
can have a smooth overall frame rate, but with stuttering, or I can eliminate the stuttering but
have intermittent frame rate decreases.
While this patch eliminated most of the stuttering for me, based on all the feedback IĆve
seen, this patch definitely does not reduce it for everyone. I have forwarded all of this
information to Valve and hope to get a response soon.
I applaud Valve for getting this patch out quickly and I am confident these other issues will be
worked out.
How Big is the Problem?
Within hours of 12:01 AM PST on November 16th I started seeing forum postings about this on Rage3D. To date there have been well over a thousand postings
on the problem. The Steam User Forums has a
thread on this problem with over 200,000 views. There have been polls conducted showing that
the majority of Half-Life 2 players are having this problem. The following are links to
major threads on this issue:
Suggested Solutions
The following suggestions come from Gary
McTaggart and Erik Johnson at Valve, and from
users in various forum posts. While some of these suggestions have improved the situation for
some people, none of these suggestions eliminate the problem entirely.
- From Valve: Set
snd_async_fullyasync to 1 in the console or config file.
- From Valve: Lower in-game texture
detail and/or sound detail.
- Set the -heapsize launch option to half your total RAM. For example, if you have 1 GB
of RAM, add the launch option -heapsize 512000. People have also tried other values
with limited sucess.
- Run dxdiag and lower sound hardware acceleration.
- If you are running the 5.1 or 4 speaker settings in Half-Life 2, change the setting to 2
speakers.
- Set the snd_mixahead option to various values (0.4, 0.5, 1, 0).
- Set cl_forcepreload to 1 and sv_forcepreload to 1.
- Set cl_smooth to 0.
- Defragment your hard drive.
- Diable virus protection applications.
- Increase AGP aperture setting in your motherboard's BIOS.
- Use
ffdshow to disable third-party MP3 CODECs.
- Uninstall various third-party CODEC packs.
- Remove Half-Life 2 completely and redownload or reinstall it.
- To prevent auto-saving, mark the following files as read-only in the hl2\SAVE folder:
autosave01.sav, autosave01.tga, autosave.sav, autosave.tga.
- Install Omegadrive's modified drivers (Omega
Drivers) for NVIDIA and ATI video cards.
Valve's Response
Valve has officially acknowledged this issue on the Steam news page:
We're also investigating a solution for the sound skipping problems a small number of
users are running into. We'll have a solution for this as soon as possible.
I am a bit concerned that they refer to this issue as a "sound skipping problem" when in fact
the whole game pauses while the sound is skipping. It will be unacceptable if they simply
prevent the sound from skipping while the pausing still occurs.
Valve has been active in the Shacknews comments and a few other forums. Below is a response
posted by Yahn Bernier in the Steam Users Forum:
We think it's actually a video driver issue, but we're still investigating. Just sit tight
and we'll get word out on this as soon as we figure out what the fix will be.
This statement goes along with my theory below. Also, I have been in contact with Erik Johnson at Valve about this, and have made him
aware of this site. However, he has not provided me with any details about this problem as of
yet.
My Theory
Since the release of Half-Life 2, I have scoured every forum thread I could find on this problem
and have read many stories, potential solutions and possible causes. I did some tests while
enabling the various showbudget console commands (+showbudget, +showbudget_texture,
+showbudget_texture_global). I first enabled showbudget_texture which shows video
card texture memory allocation per frame. While this was enabled I played through a level in the
game. Every single time the stutter occurred there was a large increase in texture memory
allocation, which can be seen in the on-screen graph. I believe the stuttering is the
result of loading new textures into video memory. This loading does not necessarily
occur from disk, although many people report hard drive activity occuring simultaneously with
the stutters.
See For Yourself
Following the instructions below, you should be able to reproduce the stutter issue and witness
the texture allocation spike:
- Download stutter.zip.
- Extract the demo file into your Half-Life 2 folder (e.g. "C:\Program
Files\Steam\SteamApps\your_steam_account\half-life
2\hl2\")
- In Steam, right-click on Half-Life 2, go to Properties then Launch options.
- Enter "+showbudget_texture 1 +playdemo stutter".
- Click OK then close the Properties box.
- Run Half-Life 2.
The above demo may not exhibit any stuttering for you as it has been reported that the
stuttering does not occur in the same place for everyone.
I captured the following video that illustrates the stuttering problem as it appears on my
system. This video was captured using Fraps and is in Windows
Media Video 9 format.
Half-Life 2 Stutter Video
A forum user has posted the following video, captured with Fraps that also illustrates the stuttering issue. While my
stuttering is not nearly as severe as this player's is, it is equally annoying.
http://home.broadpark.no/~krhagen/
Note: Nothing in my system is overclocked, and all components are well cooled.
Asus P4C800-E w/ 1019 BIOS
Intel Pentium 4 3.0C
2 GB PC-3200 DDR SDRAM
ATI RADEON X800 XT PE AGP w/ 5.1 CATALYST drivers
Sound Blaster Audigy 4 Pro w/ latest drivers
Western Digital 7200 RPM WD-2000JD 200GB HD
Windows XP Professional Service Pack 2
Contact Me
Mark McWilliams