A direct challenge to Nvidia’s GameWorks
Nvidia’s GameWorks is a widely used toolkit that allows developers to add fancy visual effects and cool physics simulations to their game without costing them too much development time. The toolkit has some awesome effects, like PhysX and HairWorks (the thing behind Geralt’s luscious hair in the most recent Witcher), but unfortunately it can result in big problems for some players.
As GameWorks is proprietary and heavily locked down by Nvidia, developers can’t share the code with AMD to optimise the drivers for it. This means that for some games, players using AMD hardware take notable performance hits. AMD massively criticised Nvidia because of The Witcher 3’s use of GameWorks (more specifically HairWorks), and the resulting poorer framerates AMD’s customers had as a result.
This was such a big problem for AMD that it has now announced GPUOpen, an open-source API that includes popular visual effects such as ShadowFX and AMD’s answer to HairWorks, TressFX (most famously used in Tomb Raider). It also offers driver utilities, and plenty of libraries and SDKs. In layman’s terms: a lot of open-source shit to make games look good with.
The idea is that by allowing developers to openly share the code, they’ll be able to improve on it together without AMD’s input, as opposed to GameWorks that often relies on Nvidia’s personal involvement with the developer. It also means that Nvidia should be able to optimise its drivers to work better with it, so the problem of certain brands of cards performing incredibly poorly for arbitrary reasons might soon be a thing of the past.
Another big benefit is that as both PS4 and Xbox One both use AMD architecture, GPUOpen potentially bridges the gap between PC and console development, making porting games from one to the other much easier.
While this open-source model sounds good, it does have a big downside. Nvidia’s big strength is how closely it works with developers to make the game look better, while AMD is appearing to want to take a very hands-off approach with GPUOpen. Why would a developer improve GPUOpen when it can simply get someone from Nvidia to do it on GameWorks?
On the other hand, the license AMD has given GPUOpen appears to allow for developers to modify AMD’s technology and sell it for themselves. That might be the motivation some need to make the toolkit better.
GPUOpen looks like it could be a very exciting thing. Whether it will be a practical challenge to Nvidia’s GameWorks is a bit harder to predict, because while GPUOpen and GameWorks do roughly the same thing, they do it in very different ways. Either way it will be incredibly interesting to see how this impacts game development, and hopefully it results in better framerates all round!
AMD GPUOpen: Doubling Down On Open-Source Development [Tom’s Hardware]