MSAA-based Coarse Shading for Power-Efficient Rendering on High Pixel-Density Displays

Department of Informatics, Athens University of Economics and Business

High Performance Graphics 2015 - Poster Quick Talk

Figure 1. Our coarse shading approach reduces the total number of fragment shader invocations when compared to traditional per-pixel shading. The clarity of geometric edges is preserved and the resulting image shows very few perceivable differences when observed on a high-pixel-density display. The heatmaps visualize the number of shader invocations per 2x2 pixel block.

Abstract

Maintaining real-time frame rates at the native resolution of high pixel-density displays is very challenging, especially on power-constrained mobile devices. For this reason, many applications render at a lower resolution and upscale the results. Decoupled sampling approaches offer a better solution to this problem, by sampling the visibility at a higher rate than shading, thus preserving the clarity of geometric edges, while reducing the cost of shading. However, this ability is rather limited in current graphics architectures, where the widely-used MSAA algorithm shades each covered primitive at least once per pixel, without directly providing the ability to compute pixel shading at a more coarse rate. While various extensions of the graphics pipeline for coarse shading have been proposed, in this work we focus on a software implementation for existing GPUs. To this end, we render an intermediate render buffer at a lower pixel count, but at the same time we compensate the loss in resolution by adding the appropriate amount of MSAA sub-pixel samples, in order to guarantee at least one visibility sample per display pixel. Subsequently, a custom resolve shader is used to perform the mapping of sub-pixel MSAA samples to pixels. This simple technique effectively shades more coarsely pixel blocks, where there are no geometric edges. We demonstrate our method on several test scenes with varying degrees of geometric and shading complexity and our measurements indicate an up to 45% reduction in energy consumption.

Results

OpenGL Demo

All images and measurements in the poster and the presentation slides were created using the demo application below. You should run the demo on a display with at least 200PPI. This is experimental research code, read the README file for instructions. Tested on Windows 7 and Mac OS X.