San Francisco (CA) - In what promises to be one of the main themes of the Intel Developer Forum, Intel touted the virtues of quad-core gaming to members of the press, during a pre-show, "extreme multi-threaded" benchmarking session. Despite current programming challenges, quad-core CPUs will accelerate games and even enable physics effects without the need of an add-in card, Intel promises.
Dual-core processors aren't that new anymore. The technology, which has been available for more than a year has quickly penetrated the high-end and mainstream segments and recently is more and more available even in entry level segments of desktop and notebook computers. However, it remains a challenge for the manufacturers of mainstream processors to advertise the benefits of those CPUs as long as multi-threaded software is as rare as it is today - even and especially in the high-end gaming field. According to Ronen Zohar, who works for of Intel's benchmarking and analysis team, multi-threaded programming isn't easy and developers resist because it requires "massive" software changes. "It's double the coding effort and double the QA."
Another difficulty in multi-threaded gaming is changing over core gaming logic which tends to be very complex and linear. Don't expect lots of multi-threading here, Zohar said, but he added that developers are at least trying. Futuremark's upcoming Ice Storm Fighters demo gave a first impression how multi-core gaming could look like.
The demo, which depicts Mech Warrior-like robot combat, is specifically designed for quad-core processors. With all four cores running, the game play was smooth and environmental elements like foliage, water and missiles rendered beautifully. Cores can be disabled or enabled dynamically as the demo runs, something which Zohar showed quite dramatically by turning off two cores. The demo became choppy, and if it were a real game, unplayable.
But what's the magic behind the benchmark? Zohar explains that separate cores are dedicated to updating the units, physics, frames and scenes. While one scene is being displayed, the other cores are calculating future scenes. The completed frames are then simply flipped into video memory. In games, this multi-threaded processing will result in a few frames of delay.
After the session, Zohar told TG Daily that quad-cores are able to turn once boring ambient characters into interactive beings that can act autonomously and can also react to players' behavior. "With quad-core you could have things like rabbits running around and realistically do what rabbits usually do," said Zohar. He added that such characters would have been missing or rendered as non-interactive elements in previous games.
For eye-candy, gamers expect explosions, lots of explosions, and quad-core could render dedicated physics processing cards obsolete. Zohar told us that on the low-end games could render three pieces of flying debris from explosions, but future games would be able to accurately render up to 60,000 pieces. He explained that the physics from such complicated explosions are more effectively calculated on a multi-core processor because the communication latency is lower than on a dedicated physics card.
Zohar was cautious when asked if multi-core processors could eventually replace dedicated graphics or physics cards. "Are multi-core CPUs interchangeable with physics and graphics processing units? Not yet, but a very strong CPU could replace them," said Zohar.
Currently, only a handful of current games that take advantage of multi-core processors, but Zohar says that developers will eventually need to switch to multi-threaded code just to compete. "If they don't do it, their competitors will," said Zohar. People won't have to wait long and by next Christmas, Zohar predicts, "the market will be flooded with multi-threaded games."
Preview: Tom's Hardware benchmarks Intel's first quad-core "Kentsfield"
Code designed to be run multithreaded actually tends to be slower when running on a single core though, because there are certain things you have to do in a round-about way when running multithreaded that you could just do directly if you were running a single thread.
So extra memory usage, slightly slower single-threaded performance, more hoops to jump through as a programmer - it shouldn't be too surprising that developers didn't find a compelling case to jump into it headfirst for last generation consoles. The new consoles though have lots of cores and lots of memory, so the strategy will be different now.