Tools And Testing
Image Courtesy: AMD
Beyond steering standards, building relationships and educating, AMD and Nvidia also create tools to help improve what is being developed. This can include building shaders, procedural textures and any other components of a scene. Both companies offer tools as well as testing to participants both within and outside their programs. During conversations, both companies stressed to us that they want their teams to make PC gaming the best experience possible. This means that their hardware might not be the fastest for a single application, but should still look its best.
To make games better, there are a host of resources available for download from AMD's developer website, as well as from Nvidia's Developer Zone. If you want to learn more about game development from a developer's perspective you should seriously look at the resources available. You can read technical papers, download the latest software developer's kit (SDK), get samples of code, and look through various presentations. You can download the tools many of the large studios implement into their development process.
AMD's website has tools ranging from performance evaluation to interpreting meshes. The most well known tool available is probably Render Monkey, a tool that can help compose shaders. Nvidia has a wide variety of tools as well; one of the most interesting is a real-time performance tool called PerfHUD. The most current version PerfHUD 5 was updated for DX10; it allows analysis down to the smallest of details. You can even use a slider at the bottom of the screen to walk through each draw call as the frame is being drawn. You can edit the shaders, and rerun the scene and check the changes to the performance.
PerfHUD 5Image Courtesy: Nvidia
If you need offline resources, Nvidia has a group of books in its GPU Gems series. Its latest book, GPU Gems 3, features new programming techniques for computer graphics as well as parallel computing. Lead graphics programmer Martin Mittring at Crytek stated: "The GPU Gems series features a collection of the most essential algorithms required by next-generation 3D engines."
Going one step further, both companies have expensive labs devoted to testing current game builds and providing analysis back to developers. Nvidia has 60 employees testing games on 200 different platforms in its Moscow game test lab (GTL). Nvidia states that it has certified 350 titles, and with each test the developer gets a full analysis with recommendations. Based on 2006 NDP Group data, 90 percent of the top 10 titles were members of Nvidia's TWIMTBP program.
Nvidia's game test labImage Courtesy: Nvidia
On the other side, AMD stated that its Boston lab will devote 20 to 50 hours of testing per build. That is just a metric of testing on a single build, it does not include the total number of hours an engineer spends on the phone, travel for on-site meetings, or the number of hours with a publisher. The end result does not guarantee a better build or even a fantastic final product, but it does mean that the developer and graphics maker will have better communication for making better games for consumers, and giving us the best experience possible. Of course you have to quantify the bill of materials, the time for drivers, and more, but the ISV relations are seen more as a strategic investment than an actual cost of goods sold. So the next time you lay some money down on a graphics card, remember part of that is going to make your games better.