Rockstar Games Newswire
Rockstar Games Social Club
Xbox Achievements

Grand Theft Auto: San Andreas

DiRT 3 - CPU UTILIZATION ANALYSIS   *   10.06.2011
Table of Contents:

- Introduction
- Hardware and System Configuration
- Game Settings
- Testing
- Closer Look at the CPU Usage
- Conclusion
- Final Words


DiRT 3 uses the Codemasters' own EGO engine, which debuted in 2007 with the first game of the series.
After that other Codies' games have used that engine as well, including GRID, the Operation Flashpoint series, and last year's F1 2010.
While the original DiRT didn't really impress on the graphics side, the engine has definitely come a long way.

DiRT 3 uses a modified version of the engine, with changes focused mostly on multi-core CPU utilization. Not much, if anything, changed in terms of graphics (though I'd risk saying we got even more precise HDR rendering), the engine can now make much better use of various multi-core CPUs, including 3 and 6 cores, which wasn't the case with DiRT 2 (it only supported 1, 2, 4 or 8 cores).
While the fact is that the engine is capable of using more than 4 cores, it's quite obvious it doesn't really need that much power, especially in singleplayer. What I was curious about was how it would benefit from multiple cores at low operating frequencies, where the CPU would definitely become a bottleneck.
That's what I decided to check.

Hardware and System Configuration

Motherboard ASUS M4A88TD-V EVO/USB3
CPU AMD Phenom II X6 1055T - 250x4/x8/x14, CPU-NB @ 2.5 GHz, HT Link @ 2.0 GHz
CPU Cooling SilentiumPC Fortis + 2 x Enermax T.B. Silence 120 mm + Arctic Cooling MX-2
RAM Kingston 2x4 GiB DDR3-1333 (9-9-9-25 2T)
GPU Gigabyte GTX 460 OC 1 GiB GDDR5 (715/1430/900 @ 800/1600/1000)
HDD Samsung F1 320 GB
PSU Corsair HX650W
Case SilentiumPC Gladius 800W
Case Fans Enermax T.B. Vegas Duo 120 mm + T.B. Silence 140 mm
OS Windows 7 Ultimate 64-bit
GPU Drivers ForceWare v270.61 WHQL

Game Settings

Resolution 1280x720 / 1920x1080
Refresh Rate 60 Hz
Vsync OFF
Renderer DirectX 11
Audio Rapture3D (5.1)
Anti-aliasing MSAAx4
Details Ultra (Ambient Occlusion on Low)


Figures represent the minimum and average framerates achieved in the built-in benchmark (Rallycross).

1000 MHz, 1280x720

1280x720 is a relatively low resolution these days, but it's still HD, and both the 360 and the PS3 render games at 720p (sometimes even lower).
Lower resolutions are always CPU limited, no matter how much we stress the GPU. As we can see here, even at maximum details performance scaling is nearly linear with each additional core.

1000 MHz, 1920x1080

At 1.0 GHz, a 6-core CPU has roughly the same performance as a 2-core CPU at 3.0 GHz. As we can see here, even at 1080p there's a bottom limit where the CPU becomes a bottleneck. In this case, we get almost the exact same results we had at 720p.

Let's increase the CPU frequency.

2000 MHz, 1280x720

At 2.0 GHz things get a lot better. While the scaling isn't as good as it was before, we still get a nice boost in performance with more cores, as the CPU is still a bottleneck.
Although, for some reason a third core brings almost no additional performance this time. Weird.

2000 MHz, 1920x1080

Finally, we reach a point where the CPU stops becoming a bottleneck. 6 cores provide no benefit over 4 cores at all, which means the GTX 460 receives data fast enough to operate at its full potential.

Let's increase the frequency once again.

3500 MHz, 1280x720

Even at 3.5 GHz the CPU is still limiting the GPU at 720p. Again the third core brings no additional increase in FPS, but both 4 and 6 cores provide a noticeable boost, especially in terms of the minimum framerate.

3500 MHz, 1920x1080

At 3.5 GHz the CPU is no longer a bottleneck at 1080p, no matter how many cores we have. The small differences might have to do with either the cache subsystem, or the EGO engine simply operating more efficiently with more threads available.

Closer Look at the CPU Usage
1000 MHz, 1280x720 1000 MHz, 1920x1080

At 1.0 GHz we get a 60-85% usage of the 6 available cores. At 1080p we have a very similar result, which is consistent with what we've seen in the charts.
3500 MHz, 1280x720 3500 MHz, 1920x1080

At 3.5 GHz the CPU usage is slightly lower, around 60-75%, but it still proves the benefit from more than 4 cores. In Full HD the game doesn't use more than 65% of the CPU, which is still a lot, considering there's almost no performance drop with less than 4 cores.


The test results pretty much speak for themselves. EGO is a very good, but mostly brilliantly optimized engine, pushing the consoles to their limits, while running really well on a wide range of PC configurations.

It can make use of multiple CPU cores when necessary, but truth be told, it doesn't really require that much power, at least on PC. The console versions probably make good use of the many threads available from their CPUs, that's why games using this engine look so good on consoles as well.

While at 1080p the GTX 460 becomes a bottleneck, I'm pretty sure a much faster card like the GTX 580, or a SLI/CF configuration could benefit a lot more from the power multi-core CPUs can offer.

It's also worth noting, that while Rallycross is pretty much the most CPU demanding singleplayer mode, any multiplayer mode will require even more CPU power.

Also, if you'd like, you can download the detailed results of all benchmarks here - DOWNLOAD

Final Words

I'd like to say, that the purpose of this article is not to determine the right CPU for DiRT 3. It's to see if the EGO engine can actually make use of multiple threads when the need arises.

I realize a quad core Sandy Bridge CPU would most likely provide even better performance, especially when overclocked to 4.5 GHz or higher, but as I said, I didn't mean to test the actual performance, I meant to test the ability to use multiple threads.


Top 5 Games:

1. GTA San Andreas
2. Red Dead Redemption
3. Fallout 2
4. NFS Underground 2
5. Fallout 3

view more...
Top Games of 2018:

1. Red Dead Redemption II
2. Forza Horizon 4
3. Shadow of the Tomb Raider
4. A Way Out
5. Gravel