In the third and final part of our interview with AMD Developer Relations Guru, Nic Thibieroz, we get him talking about the latest Deus Ex, how DirectX may not be so relevant in the future and how consoles might actually take the lead again. KitGuru dons a nano-suit to help withstand the blows.
Listening to people who were working in/around the development of games over years ago, DirectX 7 was a real pain. There’s not a lot else you can add to that statement. DirectX 8 certainly led to some interesting games, but it was DirectX 9 that finally created an environment of freedom, where developers could let their imaginations fly. Key to all of the releases of DirectX was the ability of the API to unveil new and interesting hardware developments.
No issue so far, so where do the problems come from?
Well, there are 2 fundamental changes that need to be considered. First is the way that Microsoft insisted on every feature being present for DirectX 10 and only exposing those features with the API. Previously, if nVidia or AMD had innovated with a cool new piece of hardware, then the features could be accessed by developers using CAPS (capability bits – indicating what’s possible on a given GPU). After the launch of DirectX 10, CAPS were killed off my Microsoft. Which is fine, if the API can keep up with the cool stuff that the hardware developers are doing.
The second issue that, since the creation of DirectX 10, there has been a powerful movement toward integrated systems. Chips that do both graphics and CPU processing – AMD’s Fusion being a prime example. We asked Nic about the issues that arise when Microsoft chooses, for example, not to include a full blown version of DirectX 12 in Windows 9.
“I cannot comment on whether a newer version of DirectX will be shipped with Windows 9 as this is for Microsoft to decide”, said Nic. “What I can say is that it is clear that we’re entering an era of heterogeneous computing and that newer APIs are going to have to expose such capabilities in order to allow optimal utilisation of the full system”.
We remembered out notes from the second interview item, and moved into consoles.
“I therefore believe that next-generation consoles are likely to exert a significant influence on how quickly this will happen”, said Nic.
.“A significant portion of game studios are still developing primarily on consoles and then port to PC. Another portion spends a great deal of efforts leveraging the graphic features found on the PC platform. This latter category can indeed find it frustrating to not be able to access newer features without API support, especially if they solve a problem they currently have to work around. There’s not really a definite solution to this problem; although extensions to the API are possible they sometimes do not provide an attractive solution to developers because of their IHV-specific nature. DirectX cannot evolve too fast either as the market needs time to mature and adopt current technologies before new ones can be exposed”.
Nic hasn’t said, directly, that DirectX is now holding back game development, but it’s clearly not the advantage that it was back in the DX9 days.
Intel also has made moves into this area. Word on the street is that Ivy Bridge will break the mould and include significant hardware changes – unheard of with a die-shrink. DX11 for everyone, it seems. Also, there seems to be a 50% boost in the number of graphics execution units on Intel's next chip. KitGuru wondered if Nic was worried about these improvements eroding Fusion’s lead.
“We cannot discuss speculations regarding Intel”, Nic replied. “I would say that designing a cost-effective GPU is no easy feat and requires a level of expertise and experience that only a few companies in this world may claim to have. What we are doing with AMD Fusion technology has chosen to revolutionise the world’s approach to heterogeneous computing and we believe we’ve made the right decision”. And that's before we get anywhere near the driver requirements.
Right now, there’s quite a gap in processing power from the average console to the kind of graphic card that KitGuru is testing on a regular basis. While products like the Kinect have proven fun for millions, they have also extended the life of the current generation of console. Unfortunate for gamers who are looking for the platform to move forward after >5 years in the field.
Given that the cards being sold now are DX11 and consoles are generally only DX9, one clear technology difference between what you have on your desktop and what you have underneath your TV would seem to be tessellation. We asked Nic about this and got a serious response.
“AMD treats tessellation performance very seriously”, declared Nic. “We are constantly monitoring this to establish the needs of next-generation tessellation workloads”.
“Many of our AMD Radeon HD 6000 series of GPUs already boast superior tessellation performance compared to the earlier AMD Radeon HD 5000 series and it is likely this trend will continue with newer chips if our research shows there is justification for it. Designing an efficient GPU is not about blindly increasing performance of a particular block though; it has to be balanced with other areas, and only makes sense if tessellation turns out to be a major bottleneck compared to other types of rendering workloads.
Such tessellation bottlenecks may occur in artificial benchmarks. However, most game developers are typically more realistic when it comes to taking advantage of this feature. Efficient graphic programmers will use the tessellation levels they require to make their effects visually impressive whilst also ensuring at the same time that performance is kept high by adopting essential optimisations thus allowing the cost of tessellation to be balanced with the quality improvements it brings”.
KitGuru likes optimisations, as long as they are easy to implement and produce strong gamer-benefits.
Nic agreed, “Some of those optimisations are very straightforward to implement, for example backface & frustum culling, adaptive tessellation etcetera, only require a few lines of code to add to the shaders involved. Also, some tessellation techniques do not require high levels of tessellation to create a positive visual impact.
For instance, Phong tessellation is used in the DirectX 11 version of Deus Ex: Human Revolution to improve the silhouette of characters when the camera gets close; this algorithm has a very similar visual output as PN-Triangles (also known as N-Patches) yet its performance cost is much more affordable.
Tessellation isn’t any different from any of the other GPU features: it has to be used efficiently to enable the best quality and performance benefits”.
We can think of one major difference. DX11 tessellation is simply not available in today's consoles. But could this be the last time that PC graphics has such a large lead? Will Microsoft's inability/unwillingness to push the API forward fast enough, actually lead to the end of DirectX and a general acceptance of open standards?
KitGuru says: We love it when experts relax and tell us how it is. While benchmarks are exciting, it’s also good to know what happens under the bonnet. If next generation consoles are significantly more powerful than current hardware, and they follow open standards, then the days of having a DirextX API could be numbered. Intel needs to get a foothold in game development, or it will never be able to bring the world over to its X86-everywhere way of doing things (Larrabee 2 ?). Intel needs to fundamentally change how games are created if it is to have a chance of winning. Likewise for Fusion-class processors, they need programmers to set up/process data differently if they are to maximise throughput. Finally, even the traditional mega-powerful game card creators, nVidia and AMD, will both deliver significant developments around 2012 – and they are unlikely to accept that “Those features simply cannot be used, because Microsoft says so”. We thank Nic for speaking with us and wish him well in the world of DevRel.
Comments below or in the KitGuru forum.