AMD has published a short post about the correct way to use hardware tessellation in OpenGL 4 and Direct3D 11 (Radeon HD 5000 and HD 6000 series).
Abusive tessellation leads to polygons covering 1 pixel or less, with an important impact on the rasterization performance and overshading.
The rule: keeping polygon size at or above 16 pixels as much as possible.
To overcome these challenges, our developer relations engineers make sure games can realize the full image quality benefits of tessellation while still making good use of GPU resources. This is done by using a variety of adaptive techniques that use high tessellation levels only for parts of a scene that are close to the viewer, on silhouette edges, or in areas requiring fine detail. Our goal is to keep polygon size at or above 16 pixels as much as possible. This allows for a fairly high polygon density, making scenes look great while also running well on all recent GPUs. We have also developed techniques that can help balance tessellation workloads by doing a limited amount of pre-tessellation in vertex shaders, which can help to reduce the impact of bottlenecks in the rendering pipeline.
Read the complete post here: Tessellation for All.
We all know that AMD tessellation engine has poor performance compared to NVIDIA one. But this difference is mainly visible with high tessellation factors (let’s say 16 and up). With correct tessellation factors like X8, a HD 6870 can compete with a GTX 460 (in TessMark with a tess factor of X8, a HD 6870 has a score of around 26000 points while a GTX 460 shows a score of around 30000 points). In video games, the goal is to achieve the highest framerate with the best visual quality. And an abusive tessellation doesn’t bring the best visual quality, and even, a too high tessellation has an huge impact on the FPS. Just use some adaptive tessellation with proper coarse meshes and you’re okay!