PC games commonly use Multi-Sample Anti-Aliasing (MSAA) to achieve higher quality rendering and reduce unsightly "jaggies" -- but the increasingly complex post-processing that goes with it can ultimately cause framerate drops.
Gruen and Holger describe how to minimize the resolve count in the rendering pipeline without compromising the quality of post-processing effects or deferred shading techniques.
Some resolves are useful, the authors explain:
"However there are two reasons why a post-processing technique may need to be performed in MSAA mode:
1. If a post-processing technique enables subsample based depth testing, it can result in an update to some of the subsamples of a pixel.
2. In a similar way, if alpha blending is enabled, then subsample data is preserved through the blend operation.
In these two cases it may indeed make sense to resolve the render target for further passes. However these two examples are the exception and it should be noted that for full screen passes that do not enable depth testing or alpha blending, there is precious little point in using MSAA mode.
Others can be outright harmful, as in this example:
"It is common for deferred rendering techniques to store information such as depth, position, normal, velocity and material ID to an intermediate render target. If this is carried out in MSAA mode, then the data would need to be resolved before being put to use later in the frame.
The problem here is that the fixed function resolve operation will simply perform an average of the subsamples. This is very unlikely to yield the developer's intended result, and will most probably result in graphical artifacts.
Let us consider the case where material IDs are to be resolved. I think we would all have to agree that averaging material IDs is never going to make any sense, and that performing such an operation would, in a worst case scenario, produce invalid IDs.
So how to resolve these resolves? The full feature goes in depth
on the different kinds of techniques and their effects (no registration required, please feel free to link to this feature from other websites).