Debug full-screen sul monitor secondario
by koder4fun on Nov.08, 2011, under 2D, 3D, Tutorials, XNA
Per meglio rendersi conto della reale ottimizzazione del codice scritto alcune volte è necessario eseguire l’applicazione XNA in modalità full-screen, tuttavia se si è in fase di debug e se si possiede un secondo monitor è ottimale avere l’applicazione che occupa il monitor secondario in modo da lasciare quello principale libero per la visulizzazione dell’interfaccia di Visual Studio nel caso siano impostati dei breakpoints.
Con poche riche di codice ed un event handler che controlla quando viene inizializzato il device di rendering è possibile scegliere su quale schermo indirizzare l’output di XNA.
// Controlla se esiste uno schermo secondario.
if (GraphicsAdapter.Adapters.Count > 1)
{
graphics.IsFullScreen = true;
graphics.PreparingDeviceSettings += new EventHandler(graphics_PreparingDeviceSettings);
}
Il codice precedente va aggiunto nel costruttore della classe principale di un gioco XNA (quella derivata da Microsoft.Xna.Framework.Game); quello successivo deve essere inserito come metodo all’interno della stessa classe.
///<summary>
/// Modifica i parametri per inizializzare il secondo display.
/// </summary>
///The sender.
///Parameters to modify.
private void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e)
{
e.GraphicsDeviceInformation.Adapter = GraphicsAdapter.Adapters[1];
DisplayMode dm = GraphicsAdapter.Adapters[1].CurrentDisplayMode;
e.GraphicsDeviceInformation.PresentationParameters.BackBufferWidth = dm.Width;
e.GraphicsDeviceInformation.PresentationParameters.BackBufferHeight = dm.Height;
//e.GraphicsDeviceInformation.PresentationParameters.FullScreenRefreshRateInHz = dm.RefreshRate;
}
Nel metodo precedente la linea di codice commentata deve essere utilizzata nelle versioni di XNA precedenti la 4.0.

/rating_off.png)


November 9th, 2011 on 17:47
Ciao Koder
, seguirò sicuramente questo blog, è verissimo, il debug sul monitor secondario è davvero comodo
…