2016-04-01 5 views
0

Ich versuche, die Auflösung eines Monitors des Benutzers mit MonoDevelop/C# zu erhalten.MonoGame - GraphicsAdapter.DefaultAdapter.Current.Width/Height Meldet falschen Wert auf MacBook Pro 2015

Auf den meisten Maschinen, die ich getestet habe, funktioniert es einwandfrei - mit Ausnahme dieses Macbook Pro.

Native Auflösung ist 2880x1800, aber DefaultAdapter Breite Berichte 1280x1024. Ich kann das Grafikgerät PreferredBufferHeight und PreferredBufferWidth manuell einstellen, und es ist in Ordnung.

Gibt es eine zuverlässigere Möglichkeit, die Auflösung eines Monitors zurückzugeben?

Antwort

1

Sie könnten in Ihrem Projekt auf System.Windows.Forms verweisen und Screen.PrimaryScreen.Bounds verwenden, um die Auflösung des Benutzerbildschirms herauszufinden. Wenn Sie es nicht mit GraphicsDevice.DisplayMode.Width und GraphicsDevice.DisplayMode.Height versucht haben, sollten Sie diese wahrscheinlich zuerst ausprobieren. Eine andere Möglichkeit ist GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width und GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height.