Original Link: http://www.anandtech.com/show/1598

Half Life 2 CPU Performance

by Anand Lal Shimpi on January 26, 2005 7:57 AM EST


It's now been two months since Half Life 2's release and much to everyone's surprise, the game was far from a GPU hog. The more powerful your graphics card, the better everything looked and the smoother everything ran, but even people with GeForce4 MXs are able to enjoy Valve's long awaited masterpiece.

Immediately upon its release we looked closely at the impacts of GPUs on Half Life 2 performance in Parts I and II of our Half Life 2 coverage. Part I focused on the performance of High End DirectX 9 class GPUs, while Part II focused on mid-range GPUs as well as the previous generation of DirectX 8 class GPUs.

The one area we had not covered up to this point was the impact of CPUs on Half Life 2 performance. In a 3D game, the CPU is responsible mainly for the physics of the environment as well as the artificial intelligence of the NPC elements of the game. There is also a good deal of graphics driver overhead that taxes the CPU, and thus with more complicated games we get higher dependencies on fast CPUs.

Half Life 2 was an intriguing case in itself simply because the game boasted the most sophisticated physics engines that had been seen in a game to date. Elements of the game such as the gravity gun would prove to be extremely taxing on your CPU. In fact, we found that even the fastest $500+ video cards can still be CPU bound in Half Life 2 at normally GPU limited resolutions.

Although much delayed, today we are able to bring you the third and final part of our Half Life 2 coverage focusing entirely on CPU performance as it relates to graphics performance in Half Life 2. After all, a $500 graphics card is worthless if it is bound by a slow CPU.

All of the tests in this article use the same test beds and testing methodology as our first two Half Life 2 articles. You can download all of the demos used in this article here.

We apologize for the delay in the publication of this article, but as often the case, we get busy and things such as this article get postponed and postponed. Rather than shelve it, we decided to publish it - better late than never. Now on to the benchmarks...



AMD vs. Intel Performance

At this point it's not too big of a surprise that AMD is the stronger performer when it comes to gaming performance.  It's actually at the point where even insiders at Intel will admit and recognize that Intel is no longer the king of gaming performance as they once were long ago.  But how bad is it under Half Life 2?  Let's take a look at our five custom demos to find out.

We used the current king of Half Life 2 performance for all of our CPU tests - the ATI Radeon X850 XT Platinum Edition running at 1280 x 1024, to give a good balance between CPU and GPU limitations while providing realistic performance figures.  Note that all of the Intel CPUs tested here are LGA-775 and all of the AMD CPUs are Socket-939.

First we have at_canals_08, generally a good GPU test, meaning that its CPU dependency is minimized.  The benchmark includes a decent number of NPCs and firefights but is severely offset by things like water and flashlight usage, both of which are more GPU intensive elements of the benchmark. 

Half Life 2 Performance - at_canals_08

Things don't look so good for Intel here, the Pentium 4 570J is the only Intel CPU capable of outperforming the Athlon 64 3000+.  Unfortunately for Intel, AMD's Athlon 64 4000+ is about 14% faster at 1280 x 1024.

The Extreme Edition CPUs don't do much for Intel, as Prescott does appear to perform equal or better clock for clock than the older Northwood core. 

Next let's take a look at at_coast_05, another very GPU limited test that has a good deal of NPC interaction as well as GPU limiting elements:

Half Life 2 Performance - at_coast_05

The results here are very similar to what we saw under at_canals_08, with the Pentium 4 570J offering performance slightly higher than the Athlon 64 3000+ but that's about it for Intel.  The Athlon 64 4000+ is an impressive 24% faster than Intel here which honestly is nothing to scoff at. 

Our next demo, at_coast_12, doesn't change much either:

Half Life 2 Performance - at_coast_12

The performance under at_prison_05 is a little closer:

Half Life 2 Performance - at_prison_05

Finally we have an excellent CPU benchmark, at_c17_12.  The test is extremely CPU bound, and thus makes the perfect conclusion to this section:

Half Life 2 Performance - at_c17_12

While you can argue that AMD's performance advantages in the other tests aren't noticeable on a price-for-price basis, you can't argue with the results here.  At the $280 - $290 price point, AMD's Athlon 64 3500+ delivers about 15% more performance than Intel's Pentium 4 550. 

The margin is even greater at the low end, AMD's Athlon 64 3000+ is 23% faster than Intel's similarly priced Pentium 4 520. 

At the high end the advantage is equally in AMD's favor, with the Athlon 64 4000+ holding a 22% advantage over Intel's fastest Pentium 4. 

Conclusion?  Don't look any further than AMD for the best gaming CPU, and Half Life 2 further cements AMD's reputation as the gamer's CPU.



Closer Look at AMD Memory Performance

Now that we've shown AMD's Athlon 64 to be the CPU of choice for Half Life 2, let's have a closer look at the factors that influence Athlon 64 performance in Half Life 2.

Single Channel DDR400 vs. Dual Channel DDR400

The older Socket-754 Athlon 64s and the newer Socket-754 Sempron processors both only offer a 64-bit DDR400 memory interface, but how important is memory bandwidth to Half Life 2 performance? 

In the past we've seen that the Athlon 64 platform is not very sensitive to memory bandwidth, but that will obviously vary from one application to the next.  Let's see how Half Life 2 fares:

 
at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
128-bit
116.12
140.43
123.37
113.69
83.15
64-bit
113.44
130.18
118.32
110.58
74.63

Surprisingly enough, Half Life 2 is decently sensitive to memory bandwidth.  While GPU limited benchmarks like at_canals_08 show a mere 3% performance improvement, at_coast_05 and at_c17_12 in particular show a 7% and 12% performance improvement, respectively.

Dual Channel DDR400 vs. Dual Channel DDR333

Given what we've seen with 64-bit vs. 128-bit memory buses and Half Life 2, we'd expect DDR333 to have a reasonably large impact on performance, so let's find out:

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
DDR400
116.12
140.43
123.37
113.69
83.15
DDR333
114.67
134.04
120.23
113.6
77.91

The largest differential between DDR400 and DDR333 is about 7%, and obviously if we were talking about a single channel memory setup the difference would be even greater.  Point?  More memory bandwidth is better for Half Life 2, that will mean even higher frame rates for overclockers.



Memory Latency Impact on Performance

We just looked at the impact of memory bandwidth on performance, but what about latency?  Let's first by adjusting the CAS latency from our default of 2 clocks up to 3 clocks.  Almost all DDR400 these days is CAS 2 memory, but older memory may have a higher CAS latency or you may have to increase your CAS latency when overclocking to gain more memory bandwidth, so what kind of a performance hit is there when going from CAS 2 to CAS 3?

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
Tcl = 2
116.12
140.43
123.37
113.69
83.15
Tcl = 3
115.52
137.07
121.91
113.37
79.92

At worst, CAS 2 memory seems to be about 5% faster than CAS 3 memory when looking at at_c17_12, our most CPU intensive test.  While 5% alone isn't anything major, combine that with a number of other performance tweaks and they can definitely begin to add up.

Now let's look at keeping Tcl (CAS latency) fixed at 2 clocks, but vary Trcd timings from 3 up to 6 clocks:

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
Trcd = 2
116.12
140.43
123.37
113.69
83.15
Trcd = 3
115.71
136.99
122.46
113.08
79.97
Trcd = 4
113.92
134.42
120.87
112.38
79.83
Trcd = 5
113.42
131.82
119.34
114.79
79.12
Trcd = 6
113.23
128.26
117.56
111.15
77.4

For the most part we saw no real changes when adjusting Trcd, the one exception being at_coast_05 which actually showed a pretty big difference between a Trcd value of 2 and higher latency values.

Next we'll look at adjusting Trp:

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
Trp = 2
116.12
140.43
123.37
113.69
83.15
Trp = 3
115.6
139.24
123.13
116.35
82.09
Trp = 4
115.85
138.88
122.98
113.16
82.05
Trp = 5
114.84
138
122.65
112
80.98
Trp = 6
114.5
136.95
121.96
115.61
80.95

Here we see very little impact on performance.

Putting them all together we can see what the overall impact on using fast DDR400, higher latency DDR400 and extremely high latency DDR400 will be:

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
2-2-2-10
116.12
140.43
123.37
113.69
83.15
3-3-3-10
114.47
134.11
120.64
112.62
80.56
3-6-6-10
110.74
123.76
114.75
112.17
73.8

Our standard 2-2-2-10 memory does actually offer reasonable performance benefits in Half Life 2 compared to DDR400 with higher timings such as 3-3-3-10 or the unrealistically high 3-6-6-10. 

First and foremost Half Life 2 does appear to be rather dependent on memory bandwidth, but it is also quite appreciative of low latency memory as well.  If you're wondering whether being able to run memory at low timings and high clock speeds is important, when it comes to Half Life 2 performance it is. 



Cache Size Impact on Performance

As we continue to look at the Athlon 64 platform with respect to Half Life 2 performance it's now time to find out how much benefit the 1MB L2 Athlon 64s gain over the 512KB L2 parts. 

Given that we've already shown Half Life 2 to be sensitive to both memory bandwidth and latency on the platform, we wouldn't be too surprised to see some pretty big differences between 512KB and 1MB L2 Athlon 64 processors.

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
1MB L2
116.69
134.45
121.67
118.51
80.39
512KB L2
111.56
126.2
117.35
115.75
74.14

With a performance advantage as large as 8%, the 1MB Athlon 64s (and Athlon 64 FXs)  do surprisingly well under Half Life 2 when compared to their normally competitive 512KB counterparts.  While 8% alone isn't much, combine that with the advantage of a 128-bit DDR memory bus and the Socket-939 Athlon 64 platform can offer a reasonably high performance improvement over even the Socket-754 solutions. 

SSE/SSE2 Impact on Performance

Just for kicks we turned off the Athlon 64's SSE/SSE2 instruction set support to see if that impacted performance in any way:

at_canals_08
at_coast_05
at_coast_12
at_prison_05
at_c17_12
SSE/SSE2 Enabled
116.12
140.43
123.37
113.69
83.15
SSE/SSE2 Disabled
117.64
140.94
125.85
116.55
82.56

Despite minor variations in performance, it doesn't look like SSE/SSE2 is doing much for the Athlon 64 under Half Life 2.  We just had to fulfill our curiosities. 



CPU Scaling of Graphics Cards

In order to find out the dependency of various GPUs on fast CPUs, we took our Athlon 64 test bed and while keeping all variables the same, adjusted the clock speed from 1GHz all the way up to 2.6GHz. We ran two groups of cards across the entire spectrum of clock speeds in order to get CPU scaling curves on a per card basis.

The first group of cards were classified as "High End" cards and were all run at 1600 x 1200. All of the cards are graphed on the same graph as to help users determine at what CPU speed it makes sense to purchase a faster card.

The second group of cards were classified as "Mid Range" cards and were all run at 1280 x 1024. All of the cards are graphed on the same graph as to help users determine at what CPU speed it makes sense to purchase a faster card.

By no means were these charts meant to be all inclusive, but they should serve as a good guide for weighing CPU vs. GPU purchases. We also included a benchmark of Half Life 2 deathmatch in the results here using our own custom demo - at_mp_3.

All cards were run at the same high detail settings we performed our Half Life 2 GPU comparison under.

High End Graphics Card CPU Scaling

For our High End cards we’re looking at the Radeon X850 XT Platinum Edition, the Radeon X800 XT and Radeon X800 Pro from ATI.  From NVIDIA we have the GeForce 6800 Ultra and GeForce 6800GT.  We realize that this isn’t an all encompassing list of GPUs, but you should be able to extrapolate scaling of similar high end cards based on their performance relative to these five. 

The most important graph is the first one as it is an average of all six of our Half Life 2 timedemos and gives you the best overall indication of CPU scaling of these GPUs on a holistic level. We have, however, included the individual charts for each timedemo for reference.

Interestingly enough, at 1600 x 1200, all of these high end GPUs scale quite similarly with CPU speed. We see that at lower speeds, the X850 XT PE performs identically to the X800 XT, it is only after you get above 2.2GHz on the Athlon 64 that the two even begin to separate. The same is not true for the GeForce 6800GT and Ultra, those two really begin separating much earlier on in the game.



Mid Range Graphics Card CPU scaling

For mid-range cards we've got three from ATI and one from NVIDIA; as we've discovered in previous Half Life 2 articles, NVIDIA's last-generation mid-range cards are only reasonable performers in DirectX 8 mode, and we are conducting a fully DX9 comparison here so that excludes all of them. From ATI we've got the Radeon 9700 Pro, Radeon 9800 Pro and Radeon X700 Pro. We've also included the NVIDIA GeForce 6600GT, which as you will remember from our previous articles, performs very similarly to the GeForce 6800 non-ultra under Half Life 2.

Our mid-range tests were conducted at 1280 x 1024, the target resolution for most mid-range cards.

If you've got any of ATI's mid-range GPUs, you're stuck with severely diminishing returns after about 1.4 - 1.6GHz on the Athlon 64 (< 2800+ range). The GeForce 6600GT is far less GPU bound at 1280 x 1024 (and even at 1024 x 768 although not depicted here), and thus scales relatively well.



Final Words

After our Doom 3 - CPU Battlegrounds article, we already knew what to expect from CPU performance under Half Life 2. At this point, Intel's Pentium 4 architecture does take a backseat to AMD's Athlon 64 when it comes to gaming. With performance advantages of around 15% at the same price point, the Athlon 64 does offer a noticeable increase in performance over the Pentium 4 in Half Life 2. The extensive physics engine in Half Life 2, especially as seen in Half Life 2 Deathmatch, is very CPU dependent and thus we see a real world performance advantage to the Athlon 64 over Intel's Pentium 4.

Not only is the game very CPU intensive, but because of its dependency on a fast CPU, Half Life 2 also appears to be quite dependent on high available memory bandwidth and low latency memory at the same time. Half Life 2 is actually the first game where we've seen this degree of dependency, which does make for some interesting predictions for the CPU/platform requirements of the next generation of games. Despite what we have seen in recent years, it does look like the next generation of games that employ more sophisticated artificial intelligence and physics will be quite CPU and platform dependent, just as they are GPU limited. The balance will obviously vary from scene to scene in the games, just as we've seen with Half Life 2, but the limitations will be there.

In terms of the right speed CPU to pair up with your GPU, if you have a high-end GPU (X800 or 6800GT class) then the faster you go the better off you are. Mid-range GPU owners will find that anything the speed of an Athlon 64 3000+ (Socket-939) will offer the best bang for your buck, with diminishing returns after that. If you happen to have an older Radeon 9600/9700/9800 based card, then even an Athlon 64 2800+ will be overkill for your GPU. If you are stuck with one of those older but still well-performing GPUs, don't bother upgrading your CPU unless it's something slower than a 2.4GHz Pentium 4 - you'd be much better served by waiting and upgrading to dual core later on.

The impact of the CPU on gaming performance is in a transitional stage right now. As more games use Half Life 2 style physics we will see similar impacts with regards to CPU performance, but at this point there's a great deal of work being done on multithreading game engines for the next generation of games. So while the games coming in the immediate future may behave similarly to Doom 3 and Half Life 2, it's the games that follow that will truly be interesting.

Check back in the coming weeks for more information on multithreading, dual core and the future of CPU performance in game engines among other areas...

Log in

Don't have an account? Sign up now