GraphicsDeviceManager Class

Handles the configuration and management of the graphics device.

Namespace: Microsoft.Xna.Framework
Assembly: Microsoft.Xna.Framework.Game (in

public class GraphicsDeviceManager : IGraphicsDeviceService, IDisposable, IGraphicsDeviceManager

Custom behavior of the GraphicsDeviceManager can be achieved by deriving a class from GraphicsDeviceManager. For example, to allow only widescreen devices in full-screen mode the RankDevices method could be overridden to drop non-widescreen devices (see How to: Restrict Graphics Devices to Widescreen Aspect Ratios in Full Screen).

Or, if you are creating a 2D game, you might want to create a graphics device without a depth buffer. By adding an event handler for the PreparingDeviceSettings event to the GraphicsDeviceManager, you can control the PresentationParameters properties associated with the graphics device. In the example below, the event handler is named graphics_Settings_NoDepthBuffer.

graphics = new GraphicsDeviceManager( this );
graphics.PreparingDeviceSettings +=
    new EventHandler<PreparingDeviceSettingsEventArgs>(
                        graphics_Settings_NoDepthBuffer );

To ensure that no depth buffer is created, your event handler can set the EnableAutoDepthStencil property of the graphic device's PresentationParameters to false, as shown below.

void graphics_Settings_NoDepthBuffer( object sender, PreparingDeviceSettingsEventArgs e )
    e.GraphicsDeviceInformation.PresentationParameters.EnableAutoDepthStencil = false;

Xbox 360, Windows XP SP2, Windows Vista