Last week, I had the chance to meet Intel’s Leigh Davies. Leigh is a Senior Application Engineer who specialises in PC gaming. He has extensive experience in this field and spends a lot of his time helping games companies – including many you’ve heard of, but we can’t name here – to optimise their games.
This ranges from providing insight into new Intel hardware that can provide performance increases to talking through the details of Intel tools, such as Intel® vTune™ Performance Analyzer, that can help identify game software problems as well as deliver performance boosts. Sometimes it also involves getting down and dirty with the code and helping developers lock down problems.
One of the tools that Leigh makes extensive use of is Intel’s Graphics Performance Analyzers 4.0. This is a relatively new release and some of you may recall an earlier blog on GPA or for that matter an even more recent posting following the release of GPA v4.0.
He’s particularly keen on GPA 4.0 for several reasons. First up, it provides a graphical representation of everything that is happening in the game. This not only provides an immediate snapshot analysis of the game, across all of the components potentially affecting performance, it also provides very good pointers where to dive down into the game structure to identify potential code blocks and other factors affecting performance. On the typical game development project, you might have 20 or 30 coders, few of whom have insight into parts of the game they’re not directly involved with. Leigh brings a fresh pair of eyes, and his GPA toolbox that enables him to quickly see whether the game is bound by the game code or graphics, and which parts of the graphics are taking the most time. “Without knowing about a game, we can see what’s slow and then find out why,” he said. “We know the hardware, and the games developers know their game code.”
Leigh gave an example of a game in which the developers were having trouble nailing down why the game wasn’t performing as well as it should be. By using GPA 4.0 they were quickly and easily able to see that it was something that was on the surface innocuous and an unlikely source of slow performance, that is, small trees in the background of some frames.
I took the opportunity of having a GPA expert here to ask Leigh a few questions about what’s new in GPA 4.0. Regarding the new support for DirectX 11, Leigh said this feature has been introduced before Intel has DirectX 11-compatible hardware on the market. Part of Leigh’s role is to help ensure developers deliver great performance on upcoming hardware, so that games deliver stunning performance when the new chips hit the street, and users can see a benefit in buying the latest hardware, which is what ultimately drives Intel’s business.
I also asked about the support for Multiple Render Targets (MRTs), and he said this is mainly used for deferred rendering. This is a technique where textures are rendered without lighting, angles are rendered without colours, and pixels are used to show the depth of different objects. Then all these different renders are combined in one pass which lights and colours the scene. In a scene with lots of objects and lots of lights, this can deliver a significant time saving, and now you can analyse its performance using GPA.
The new version of GPA also exposes 40 counters from Intel’s new Sandy Bridge processor, so you can fine tune your game to perform optimally on the latest hardware.
For parallel programmers, the platform view might be of particular use. It enables you to see what’s going on on the CPU, including seeing the threads over time, so you can identify any that are waiting on other threads to complete. Leigh mentioned the shift to multicore programming as being an important part of Intel’s message because Intel knows its roadmap is to continue to increase the number of cores, so developers need to engage with parallel programming if end users are to get the full benefit of tomorrow’s hardware.
It was also good to see the new Head Up Display (HUD). Basically this means you don’t need two computers to carry out graphic performance analysis any more, because the dashboard showing key metrics can overlay the game frame. You can see exactly what’s going on and within which frame.
If you want to find out more just follow this link and try the software for yourself. It’s free to download, and you can get up and running quickly because you don’t need to instrument your code. Give it a go. You might be surprised at what you learn about the game you thought you knew!