Gamasutra: The Art & Business of Making Gamesspacer
Resolve Your Resolves
View All     RSS
May 26, 2018
arrowPress Releases
May 26, 2018
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Resolve Your Resolves

March 26, 2008 Article Start Page 1 of 3 Next

[In this in-depth technical article, Gruen & Story examine anti-aliasing in games, explaining how you can reduce 'jaggies' in your PC title, and save frame-rate, by using significantly less post-processing passes.]

Over the last few years it has become commonplace for PC games to make use of Multi-Sample Anti-Aliasing (MSAA) to achieve higher quality rendering.

MSAA is a very effective and efficient method for reducing the unsightly "jaggies" that result from the triangle rasterization process. At the same time most game engines also employ post-processing techniques such as depth-of-field, motion blur, color correction and refraction.

Post-processing has become increasingly popular, as it provides a way to carry out complex computations, but only pay the cost for visible pixels. It is not unheard of for an engine to contain up to 20 passes, and these techniques usually require a copy of the main render target as a texture input.

If the engine is making use of MSAA, then the render target will need to be resolved before it can be used in the next pass. This is accomplished through calls to IDirect3DDevice9::StretchRect or ID3D10Device::ResolveSubresource, depending on which version of D3D is being used.

As modern game engines tend to apply multiple post-processing techniques, it is easy to understand how the application could trigger a loop of resolves (Figure 1).

It is critically important to understand that a resolve is not a free operation, and that performing multiple resolves per frame can have a very serious impact on performance. This statement is true for all graphics hardware.

To take a real world example, the developers of a recently released PC title managed to reduce their resolve count from a staggering 22 to just 12. This generated a saving of around 12 ms per frame, at a resolution of [email protected]

The goal of this article is to describe how to minimize the resolve count in the rendering pipeline without compromising the quality of post-processing effects or deferred shading techniques.

The resolves that should be removed fall into two categories, redundant resolves and harmful resolves, and these will be described in detail later in this article. But first let's consider the resolves that are necessary for good image quality.

Article Start Page 1 of 3 Next

Related Jobs

Cold Iron Studios
Cold Iron Studios — San Jose, California, United States

Infrastructure Engineer
Cold Iron Studios
Cold Iron Studios — 95113, California, United States

Console Gameplay Engineer
Sony PlayStation
Sony PlayStation — San Mateo, California, United States

Sr. Technical Project Manager (Platform Planning & Management)
Paradox Interactive
Paradox Interactive — Stockholm, Sweden

Senior C++ Programmer

Loading Comments

loader image