As dual-core processors have been actively spreading in the market for the last years, multi-processing features are appearing in games and other non-professional applications. Dual-core processors have been rarely used in desktop computers up to now. They were mostly employed by professionals and rare enthusiasts, who worked with such applications as 3D modeling and rendering, as well as media processing and encoding, which were initially designed to support several CPUs.
Games offered weak support (or even no support) for two and more processors, because multi-processor systems were not popular among gamers because of their high price. A couple of years ago there started to appear mass-scale dual-core processors, but their price was too high for a common user for some time. So they were again bought by enthusiasts, only on a larger scale. With the launch of Intel Pentium D, as well as Core 2 Duo and AMD Athlon 64 X2, both companies that manufacture desktop x86 CPUs significantly dropped prices for their processors and still do it from time to time. As a result, dual-core processors are only a little more expensive than single-core models. Besides, x86 processors develop towards multi-cores.
So users often ask the question whether 3D games benefit from the second CPU core. This article will analyze performance gains in modern games owing to the second CPU core. It will be done not in synthetic conditions in low resolutions and in old games, but in more or less real situations. We've also tried to reduce the effect of a video system to minimum.
Theoretically, only an application can gain performance from the second core. If an application can use only a single core, it won't run faster on a dual-core processor. It does not matter whether a single core is fast enough or not. But performance may rise even if multi-processing is not explicitly supported — when a system distributes application tasks between CPU cores. Another way to increase gaming performance is improvements in a video driver, which can use the second core. But this is theory. And now we'll see what really happens in modern (and not quite) 3D games on single-core and dual-core systems.
Testbed configuration and settings
We used the following configuration:
We used one of the most expedient dual-core offers from AMD in our testbed - Athlon 64 X2 4600+. Its single-core counterpart is Athlon 64 3800+ operating at the same frequency (2.4 GHz) and possessing the same L2 Cache (512 KB). So two modifications of the testbed differ only in the number of processor cores, all the other parameters being equal.
We modified boot.ini in the dual-core system to add "/usepmtimer", and we installed the latest drivers for AMD Athlon 64. We used default ForceWare settings, except for texture filtering (High quality). "Threaded optimization" (responsible for multiprocessing optimizations) was set to "Auto" in driver settings. We used two video setting modes: the standard 1280×1024 mode (or 1280×960 for games that do not support the previous resolution) without anisotropic filtering and antialiasing; and High Quality mode — 1920×1200 (or 1600x1200, if there is no support for a wide screen), multisampling 4x and maximum anisotropic filtering — 16x.
Our game tests include both standard benchmarks, often used in articles, as well as games that do not offer standard tools to measure performance. Unfortunately, we are again forced to complain about developers - they are not in a hurry to give users convenient benchmarks in their games. So we have to use FRAPS to measure performance in some games (this method has lots of drawbacks). This method is just as accurate in those games that allow to record and watch demos as built-in benchmarks. But our list includes some games that lack this feature. And the measurement error was bigger.
Far Cry 1.4
This game is rather old, but its technological perfection and patches make it very popular in various comparisons. Indoor rendering performance in Far Cry usually depends on a video card in the first place. Outdoor rendering with lots of geometry and LOD algorithm may depend on a CPU even in case of a powerful video card.
Though we have taken one of the outdoor levels (Research), which loads CPU well, we don't see any significant changes in Far Cry performance on a single-core and dual-core processors. The difference is well within the measurement error. Even driver optimizations do not help this game demonstrate better results on a dual-core system. It probably happens because Far Cry was released when developers did not think about optimizations for multi-processor systems.
Quake 4 1.3
But developers of this game and its engine are already boasting of support for multi-processor configurations. There is even a separate setting for it. This support was not available in Quake 4 from the very beginning. It was added in patches, so if you play this game on a dual-core processor, you are recommended to apply the latest patch. Quake 4 is rather processor-intensive, as it uses a CPU to compute and apply shadows, which are used much in this game. Besides, the game uses a processor to compute physical interactions. Probably these are the tasks to distribute between cores for better performance. Let's test it:
The result is striking. The performance difference in 1280×1024 between single- and dual-core systems is over 1.5-fold! This is definitely not a mistake, we've checked the results three times. Of course, the difference goes down to less than 10% in high resolution with anisotropic filtering and antialiasing. We can understand that — the bottleneck here is a video card, even such a powerful model as GeForce 8800 GTX.
Prey is based on the same engine as Quake 4 - DOOM 3 Engine. But it uses a different version. So it may demonstrate different results. Besides, we test Prey on an indoor level, while Quake 4 is tested with a demo recorded on open spaces. It may also cause the difference, because outdoor rendering traditionally depends on a CPU more than on a video card.
So we can see that the results here are not as impressive as in the previous game. But it's still nice to get 17% of performance gain from the second core in the easy mode. Interestingly, framerate on a single-core system in a heavier mode was even a tad higher than in the easy mode. We have checked this result three times as well, so there is no mistake here. That may be the effect of some optimizations (or under-optimizations) of the video driver for GeForce 8800. Anyway, the difference in high resolution with high quality settings is within the measurement error, so Prey benefits from the second core only in easy modes.
F.E.A.R. also uses shadow algorithms similar to those in DOOM 3 Engine, but its differences are bigger. Besides, this game uses a CPU for physics as well. So it should be accelerated on multi-processor systems, provided it has proper optimizations. But as we determined in the technological review of the game, rendering speed mostly depends on a video card, fillrate and memory bandwidth. Let's see the difference between the processors in the built-in benchmark:
And the performance difference in F.E.A.R. is... null. The results are absolutely identical (both on a single-core and on a dual-core system). How interesting! ForceWare optimizations added nothing to performance results, not a single frame per second. It's probably a single-threaded application. And with such a powerful video card installed, it's limited only by the fillrate. We cannot find any other explanation.
Serious Sam 2
That's another game released two years ago, which performance mostly depends on a video card. But it can still be affected by a processor (which is used to compute physics, AI, LOD, etc) on outdoor levels with lots of enemies. We found no information about support for multi-processor systems in this game, so let's get straight to practice:
Running a few steps forward I can tell you that it's one of the widest-spread results after unexpected F.E.A.R. performance. We checked over the results several times and chose the average values. The dual-core processor has outperformed the single-core model in this game, in the "easy" mode — by 6%, in the "heavy" mode — within the measurement error (the load is increased and CPU has become the main bottleneck). Performance does not differ much in these two modes, the game is evidently limited by CPU performance in the first place, but... it concerns a single core.
Call of Juarez
It's a relatively new game with a high-tech engine. Performance in Call of Juarez is mostly limited by a video card. It carries the heaviest load, the game features lots of geometry, pixel processing, and excellent shadow maps. The processor does only physics, not too complex and not very much. The processor can limit performance only because of many draw calls, as the game level used for the test has lots of objects and corresponding calls.
But there is again no visible difference. The measly advantage of the dual-core processor can be explained by a reduced load on a processor from system and background processes. In other respects, the game proves again that its rendering performance almost fully depends on video card's capacity.
Company of Heroes
We are finally through with first person shooters (for now). Perhaps performance advantages from the second core will be bigger in games of other genres? Although the benchmark built into Company of Heroes does not show gaming performance, as it runs a script scene (it does not resemble the game itself), it will be interesting to see the difference in performance between the two processors.
That's better, the second core evidently yields a little performance gain, though not as large as in Quake 4. 5-6% — that's suspiciously close to the measurement error, although it's a tad higher. So we can draw the following conclusion: Company of Heroes, to be more exact its script scenes, gain some performance on dual-core systems owing to driver optimizations and probably to more efficient distribution of background and system processes.
Need for Speed: Carbon
NFS: Carbon is the first game in our tests that lacks tools to measure performance. It cannot even record and play races, so we have to use the FRAPS methods with a large measurement error. On the other hand, the game is very interesting for our article, because it's a multi-platform modern project. So it may benefit from multi-processor systems.
Indeed, the advantage of the dual-core processor in 1280×1024 is quite decent — 18%. You cannot write it off to driver optimizations only. Perhaps the application uses several threads, efficiently distributed between processor cores. This advantage wanes in the heavy mode. But almost 10% of performance gain in such conditions do not allow us to doubt special optimizations for dual-core processors. Let's see the framerate graphs to understand where and how this advantage appears:
We can see well that the dual-core processor has always provided a higher performance level than the single-core model. Minimal framerate of the system based on the dual-core processor was higher. Its FPS did not slump that much as in case with the single-core processor. It seems likely that some part of a universal processor's job in the game is singled out into a separate thread, hence the performance gain.
It's another racing game, but it differs much from Need for Speed. GTR 2 is a sterling racing simulator with complex physics computations, etc. The game does not demonstrate superb modern graphics, although geometry of car models is complex enough. Several dozens of cars in a frame create a heavy load on a video card and on a CPU. Especially on a CPU, as we use the fastest video card.
This time dual cores do not yield as much gain, but they still do it. Perhaps the game itself is not optimized for multi-processor systems, but the NVIDIA driver and a lower load of background processes provide a little advantage. The 5-7% difference will hardly make you buy a dual-core processor instead of a single-core model right now. But provided single-core processors are soon pushed out of the market, even this advantage should be taken into account. Let's have a look at the FPS graph:
The frame rate is very unsteady. We used FRAPS for our tests and a recorded race with many cars in a frame. So the framerate grows when there are not many race cars in a frame. And when a camera shows a long shot with dozens of cars, FPS drops to a very low value. Unfortunately, the dual-core processor is not helping here. Framerate grows owing to high values, when it does not matter whether you get 100 FPS or 110 FPS.
One of the most problematic releases last year in terms of streamlined code and optimizations. The game has very high requirements to system resources, to all components, including a processor and a video card. As our video card is rather powerful, we can assume that the main bottleneck is the processor. Gothic 3 is a slow new game. That's why it's interesting to know whether it benefits from the second processor in a system or not.
OK, we are not happy with the framerate at all. These are top-quality settings, of course, but our testbed is powerful enough! The second core yields some performance gain, but not very high — 13% in the easy mode and 7% in the heavy mode. Game speed is evidently not limited by a video card. Have a look at the graph, perhaps it will show something interesting:
Indeed, the situation is very interesting. Even though the dual-core processor slumped in the same places as the single-core model, its troughs are not as deep as in the latter case. The minimal framerate differs much as well, 5 fps versus 20 fps. Probably the game uses a separate thread to load data as you play. As a single-core processor executes these threads together, one of them does not get enough CPU time and the game slows down. It's easier for a dual-core processor — the threads are executed simultaneously by different cores and they do not interfere with each other.
We should also note that unfortunately the game lacks built-in tools to measure performance and record demos, so the measurement error is rather big and we should treat the results obtained in Gothic 3 with certain criticism.
This game also lacks tools to measure performance, so the measurement error might have been very big. Besides, Armed Assault can compete with the previous game in the number of errors and framerate instabilities. But from the reviewer's point of view, it's an interesting high-tech game. It heavily loads a CPU as well as a video card. Its framerate with maximum quality settings is obscenely low for such as powerful testbed.
The video card and the processor do not act as evident bottlenecks here, differences between various quality modes are not very large. We don't see any performance gain from the second core, it's within the measurement error. Let's have a look at the framerate graph. Perhaps it will show us something worthy:
There is absolutely nothing interesting about it. In our opinion, the game evidently ignores the second core, although its framerate is sometimes higher. Most likely, it has to do with driver optimizations for multi-processor systems rather than with the game itself. It's a pity. Such an unoptimized game... would have tried to improve performance at least by using resources of the second processor.
S.T.A.L.K.E.R.: Shadow of Chernobyl
Everybody must have heard of this latest game by now. Its popularity and novelty were the reasons to include S.T.A.L.K.E.R.: Shadow of Chernobyl into this article. Especially as someone has recently recorded a demo to benchmark performance. Unfortunately, game developers again decided that gamers and reviewers do not deserve a tool to record and play demos to benchmark performance. We can only wait for promised patches with such features. As for now, we can use the demo, which shows the sky most of the time plus a bird's-eye view of vast spaces - it has almost nothing to do with gameplay.
So, S.T.A.L.K.E.R. evidently benefits from the second core, including the heavy video mode. Framerates do not differ much in various resolutions. We have an impression that game performance is limited by the processor or memory bandwidth. But not by the video card. At least by its buggy drivers. Performance gain from the second core reaches 8-9%. So we cannot speak of multi-processor optimizations. Additional performance is most likely gained by the video driver, which can use the second core for its purposes.
The FPS graph shows that the average framerate grows mostly owing to fps peaks. The minimal framerate is increased, but not much. So we think that the conclusion about no multi-processor optimizations in S.T.A.L.K.E.R. is proved.
Rainbow Six: Vegas
And finally, the last game in our article is Rainbow Six: Vegas. It's one of the first games based on famous Unreal Engine 3. It's notable for its support for multi-processor configurations. Let's see whether it's true. Another interesting fact - it's a multi-platform game. It's rather slow on many computers, which results in many complaints from gamers. Let's see, perhaps dual-core processors will save the day:
Well, they may not be the ultimate solution, but we can assure you that they are well supported by the game (to be more exact, by its engine)! Even though performance difference between the single-core and dual-core systems does not reach the results in Quake 4, but it's still 38% in the easy mode and 17% in the heavy mode. We should not forget that UE3-based games do not support antialiasing, so the GeForce 8800 GTX is not loaded that much in the heavy mode. Let's see how the second core affects average fps values in this game:
It's the most interesting graph, isn't it? We've got an impression that the second core in Rainbow Six: Vegas is always occupied by a useful thread and improves gaming performance. Instant FPS, minimal FPS, average FPS - they have all grown. We are witnessing excellent optimization of the engine for multi-processor systems. If you remember a number of games that claimed to use Unreal Engine 3, you can easily figure out the main reason to get a dual-core processor for a computer intended for modern and future games.
We must admit that the results obtained did not always come up to our expectations. We saw performance gains where we did not expect them and no performance gains in games that were supposed to provide them. In the first case, we've got the effect of NVIDIA ForceWare optimizations for dual-core processors. It seems to us that unexpected performance gains have to do with these optimizations. The tests reveal that dual-core processors can yield some performance gains in modern games even when applications were written for single-core processors.
So here are two main conclusions from our test results:
Write a comment below. No registration needed!