Using Intel® GPA Effectively
Configuring gameplay for different platforms is easier with the analytical insights provided by Intel GPA. “When we launch the game,” Dan said, “we have a whole host of settings, and we detect what configuration you have and then make adjustments. In several cases we can shift which processor—CPU or GPU—we do something on, moving code from the CPU to the GPU as required.” The analysis provided by Intel GPA makes it possible to balance workloads effectively, giving gamers the best experience possible given the capabilities of their PC.
“I use the graphics side of [Intel] GPA primarily for two things,” Dan noted. “One is that you can get very accurate time-ins on different systems. For example, you can get the amount of cost that the water takes up. We ran Civ5 through [Intel] GPA when we did a breakdown of a scene and immediately saw that the water was 50 percent of our frame time on the integrated chip.”
“That meant,” he continued, “that by dealing with that problem, we could double our frame rate. So, we said, OK, let’s back off what we are doing on water and sure enough, the frame rate jumped way up. You can quickly find your performance issues at a very granular level with just a few minutes of work.”
Dan explained that software optimization has two halves. Each half is approximately the same level of difficulty. One key focus involves optimizing, but, as a part of that, you need to figure out what is slowing you down, which is a problem that Intel GPA can help solve. Although the tool doesn’t perform the optimization, it pinpoints what is causing the code to run slowly—not an easy problem to solve in some cases.
“Secondly, as a debugging tool,” Dan said, “Intel GPA is pretty useful for just walking through everything that happened and finding out why something didn’t render correctly. I’ll get a pixel on the screen that is wrong or something is broken and it is not rendering correctly. [Intel] GPA can capture the whole frame so I can get a tree and walk through everything that happened on that pixel or set of pixels and figure out what could be causing the problem.”
Yannis Minadakis, a senior graphics engineer at Intel, has followed the progress on the game engine enhancements and provided engineering assistance on the redesign. “The thing that impressed me the most about Firaxis is,” he said, “they took the long-term view on developing their engine. They said, well, we want to scale to any number of cores and divide up our work in such a way that it doesn’t matter if you have six cores, four cores, eight cores. It will all run consistently and at the maximum throughput of your system. That is the kind of architecture that we need going forward across all applications on the PC because you will have these very different configurations and the experience must scale with the customer’s expectations.”
Because of this tuning and optimization work, when Civ5 hits the streets in late 2010, PC gamers worldwide—casual, mainstream, and enthusiast—will enjoy a great Civ5 experience.