The Great Graphics Stall
Its no real secret that video game graphics have hit a wall. For most of gaming’s history graphics have been on a constant, almost exponential pace driven by consumer demands for more and more beautiful graphics. To an extent, graphics could make or break a game - Quake, for example, dramatically altered the way games were expected to look.
But for the past few years, graphics development seems to have been stalled. Crysis was the last great advancement for PC gaming graphics, and while some games have been almost as difficult to run, such as Arma 2, none have had the same level of eye candy.
The reasons for this stall are legion. Part of the blame can be laid on consoles. The latest generation has lasted longer than any before it, and because consoles sales are usually larger than PC sales, most titles have their graphics optimized with the less capable hardware of consoles in mind. But this would not be an issue if graphics were not so expensive to enhance. As models and textures become more detailed, the time and effort required has also gone up. This additional time and effort would not be an issue in a less competitive industry, but the gaming industry is cut-throat, and developers need to keep costs as low as possible.
This trifecta of problems has stalled progress, leaving PC gamers with little to justify the latest and greatest video cards. But there is some hope for the future.
One of the reasons graphics have been stalled is the high cost of creating high-quality graphics. But what if a developer could create 3D models which scaled dynamically, becoming incredibly detailed on high-end systems but simple and easy to render on less capable machines?
This would be something of a holy grail, but it is exactly what tessellation aims to accomplish. Tessellation has been around for awhile and primarily promoted by ATI, which incorporated it into the GPU for the Xbox 360 and has offered it on their own computer GPUs for some time. As if often the case, however, promotion of a feature which is not standardized has been slow going. But DirectX 11, now available on PCs running Windows 7 and Vista, includes a standard for tessellation, which means this feature will now be available for use on all GPUs which support DirectX 11.
The Tessellation supported by DirectX 11 is done in the hardware, which means that it is very easy for games which support DirectX 11 to make use of it. All the developer needs to do is input certain data defining the basics of what a 3D object is and the hardware tessellation will jump in and do the rest. This means that a 3D artist can make a more basic model and then allow hardware tessellation to up the polygon count, a method which should prove much quicker and much easier than any other method of increasing a 3D model’s detail.
Another standard which DirectX 11 makes available is the compute shader. GPGPU, or General Purpose GPU computing has been a central goal of Nvidia and ATI for some time know (Nvidia particularly so) and while it does not necessarily have an affect on the number of polygons or the detail of textures displayed, it does allow for a GPU to pick up slack from the CPU and perform complex calculations. This directly impacts the detail, in terms of things like physics and AI, which is possible in an environment.
As with tessellation, GPU compute has lived in a standard-less hell for some time now. Both Nvidia and ATI saw its relevance, but could not agree on a common technical method. Again, DirectX 11 has swooped in to the rescue, creating a standard for GPU computing (well, Windows computing, anyway) which should be useful in the future. To be sure, it is unlikely to be the only method of General Purpose GPU computing to be widely used, since this includes many specialized High Performance Computing applications. But, it will almost certainly become the dominant method used for games. DirectX’s popularity with game developers is apparantly unassailable, so if they can use it for things like physics, it will likely drive the current ATI and Nvidia specific GPGPU solutions out of mainstream PC gaming.
The compute shader should help dramatically in the creation of post-processing visual effects, physics calculations, and other difficult operations which will work bettter on the GPU than they ever did on the CPU. This should allow for the creation of environments in games which behave more realistically.
Timeline for the Future
The creation of new standards often does not correlate to immediate adoption. In fact, it can sometimes takes years to phase out an old standard and put a new one in its place. DirectX 10 was a good example of this, as a large number of games released after DirectX 10 continued to ignore it and instead simply support DirectX 9. Even today it is clear that the impact of DirectX 10 was not nearly as large as Microsoft had hoped.
But things look different for DirectX 11. Already there are games in the works which should provide support for new DirectX 11 technology. Dirt 2 is one popular example, and the results so far are impressive. ATI already has DirectX 11 cards on the market, and Nvidia plans to have cards available early next year. PC gamers will ultimately have to wait and see how things settle, but I am optimistic that gaming graphics will again be something worth talking about.