Skip to content

FXAA on Compute Queue in Direct3D 12

Notifications You must be signed in to change notification settings

viktor4006094/DV2551-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FXAA on Compute Queue in Direct3D 12

This project was created to learn the Direct3D 12 API as a part of the DV2511 3D Programming III course.

We investigated whether or not moving the FXAA stage (which was implemented as a compute shader) from the graphics queue to the compute queue might have a performance benefit by allowing for higher parallelism. Our measurements—both the ones recorded in the application itself and by GPUView—showed that this was not the case. Due to the nature of the program and the minuscule execution time of the FXAA stage (in comparison to the geometry rendering stage that came before it), the rendering work for the next frame on the graphics queue would not take place before the previous frame had been presented. Therefore, moving the FXAA stage to the compute queue did not improve the parallelism in our case.

Demo

The images below show 104 Stanford Dragons rendered by the application, before and after the FXAA demo pass. Before FXAA After FXAA

  • Top left quadrant: 3x magnification.
    • Left side: FXAA off.
    • Right side: FXAA on.
  • Bottom left quadrant: Edges detected by the FXAA algorithm.
  • Top right quadrant: FXAA on.
  • Bottom right quadrant: FXAA off.

Developers

Viktor Enfeldt

Peter Meunier

About

FXAA on Compute Queue in Direct3D 12

Resources

Stars

Watchers

Forks

Languages