  In real-time rendering, a 3D scene is modelled with meshes of triangles that
the GPU projects to the screen. They are discretized by sampling each triangle
at regular space intervals to generate fragments which are then added texture
and lighting effects by a shader program. Realistic scenes require detailed
geometric models, complex shaders, high-resolution displays and high screen
refreshing rates, which all come at a great compute time and energy cost. This
cost is often dominated by the fragment shader, which runs for each sampled
fragment. Conventional GPUs sample the triangles once per pixel, however, there
are many screen regions containing low variation that produce identical
fragments and could be sampled at lower than pixel-rate with no loss in
quality. Additionally, as temporal frame coherence makes consecutive frames
very similar, such variations are usually maintained from frame to frame. This
work proposes Dynamic Sampling Rate (DSR), a novel hardware mechanism to reduce
redundancy and improve the energy efficiency in graphics applications. DSR
analyzes the spatial frequencies of the scene once it has been rendered. Then,
it leverages the temporal coherence in consecutive frames to decide, for each
region of the screen, the lowest sampling rate to employ in the next frame that
maintains image quality. We evaluate the performance of a state-of-the-art
mobile GPU architecture extended with DSR for a wide variety of applications.
Experimental results show that DSR is able to remove most of the redundancy
inherent in the color computations at fragment granularity, which brings
average speedups of 1.68x and energy savings of 40%.
