Ich habe ein erstellt FpsCounter
DrawableGameComponent
(mit Code verknüpft, es ist länger) . Es funktioniert hervorragend: Normalerweise werden 60,0 fps angezeigt. Wenn ich die Spielschleife künstlich verlangsame, fällt sie ab.
Mein 'Spiel' ist im Moment ein einzelnes Sprite mit Tastatursteuerung, daher sollte es möglich sein, häufiger als 60 Bilder pro Sekunde zu rendern.
Ich dachte, das Ausschalten der vertikalen Synchronisation würde die FPS-Obergrenze erhöhen:
public Game1()
{
_graphics = new GraphicsDeviceManager(this)
{
PreferredBackBufferWidth = WindowWidth,
PreferredBackBufferHeight = WindowHeight,
SynchronizeWithVerticalRetrace = false,
};
_graphics.ApplyChanges();
Content.RootDirectory = "Content";
}
Obwohl der obige Code so aussieht, als sollte er vsync deaktivieren, scheint dies nicht der Fall zu sein. Stimmt etwas mit meinem Konstruktor oder meinen FPS-Berechnungen nicht? Oder gibt es noch etwas, das die Anzahl der Frames einschränkt?