What Is a Back Buffer?
The definition of a Back Buffer for MonoGame!
A back buffer is a render target whose contents will be sent to the device when GraphicsDevice.Present is called.
The graphics pipeline renders to a render target, the particular render target that the device presents to the display is called the back buffer. Use the BackBufferWidth and BackBufferHeight properties to get the back buffer dimensions. Render directly to the back buffer or to a render target by configuring the device using GraphicsDevice.SetRenderTarget and GraphicsDevice.SetRenderTargets.
- For Windows, the back buffer is created to match the dimensions of the ClientBounds by default.
- For Consoles, the back buffer is created with the dimensions that have been specified by the user. When going into full-screen mode on Windows.
- On Mobile, it is recommended to set the BackBuffer dimensions to the expected resolution based on the desired orientation of the device (Portrait or Landscape).
It is often desirable to set the back buffer dimensions to match the DisplayMode dimensions so that the game ("display") resolution does not change when it goes into the full-screen mode.
The back buffer created for consoles is not necessarily the same size as the final resolution on a television connected for display. Consoles automatically scale output to the television resolution selected by the user in the System. If the aspect ratio of the back buffer is different from the aspect ratio of the television display mode, the console will automatically add black bars (also called letter-boxing) if the user's display is not widescreen.
In addition, if you request a back-buffer resolution that is not supported by the output device, the MonoGame framework automatically selects the highest resolution supported by the output device. For example, if you create a back-buffer with a resolution of 1920x1080 (for example, 1080p or 1080i) and display it on a device with 480i resolution, the back-buffer is resized to 480i automatically.