Performance improvements and new possibilities
Valve says hybrid threading is the most difficult approach to multithreading, but it scales well enough to be worth the investment. With dual-core processors, Valve sees an increase in frame rate as the main benefit to multithreading. However, there comes a point where increasing the frame rate begins to deliver diminishing returns. With quad-core systems, Valve is looking to provide gamers with new experiences rather than simply smoothing frame rates. Game elements like artificial intelligence, particle systems, and physics have traditionally been given fractions of a single CPU's resources. Quad-core processors allow them to access considerably greater computational resources that programmers are more than eager to burn on smarter AI, richer visual simulations, and more realistic physics.
Artificial intelligence is a great candidate for hybrid threading because it's tolerant in the sense that answers to questions aren't necessarily needed right away. The game can wait a few fractions of a second for the answer to a "where's cover?" question without adversely affecting gameplay, allowing some calculations to be queued to run on idle processor cores. There are also implications for what Valve calls out-of-band AI. This additional layer of artificial intelligence is separate from the core AI, but feeds information to it.
Particle systems also lend themselves well to hybrid threading. Although they're mostly a visual effect, particle systems actually tend not to be GPU-bound. They also tend not to interact with each other, making it possible to run independent particle systems on individual cores. In situations where there is only one particle system in the scene, that system can also be distributed across multiple cores. Having those extra cores available for particle processing allows Valve to create much more complex particle systemsones that can interact with the world and even have gameplay implications.
Quantifying multi-core performance
To illustrate how multi-core processors can improve performance, Valve gave us a couple of benchmark applications. The first runs the VRAD lighting calculation tool on a Half-Life 2 map. This isn't an end user application, but it shows how well multithreading can speed elements of the game development process, in this case a level build.
VRAD exhibits near-linear scaling, with the quad-core Core 2 Extreme QX6700 building the level nearly twice as quickly as the X6800, which runs at a higher clock speed. The Athlon 64 FX-62 is more than 35% slower than Intel's fastest dual-core processor and not even close to the QX6700.
Valve also gave us a particle system benchmark that actually runs inside the Source engine. This test steps through a series of particle simulations, and according to Valve, it's completely CPU-bound. Unlike VRAD, this test case is more typical of what an actual gamer might experience.
The QX6700 cleans up in the particle system benchmark, running nearly twice as fast as the dual-core X6800. Again, we see the FX-62 bring up the rear, although this time it's only about 20% off the pace set by the X6800.
|NexDock offers a home for Intel Compute Cards||5|
|Radeon 17.1.1 drivers bring support for Resident Evil 7||9|
|Imagination Technologies freshens up mid-range PowerVR GPUs||4|
|Raspberry Pi Compute Module 3 flaunts a quad-core SoC||18|
|be quiet! unveils entry-level Pure Base 600 chassis||20|
|Sapphire launches Radeon RX 460 with 1024 SPs in China||16|
|Google RAISR upsamples thumbnails for massive bandwidth savings||57|
|Biostar's Z270 boards race to the finish||20|
|Synology RT2600ac offers up speedy Wi-Fi and tight controls||5|