Nein, mit dieser Methode geht es um eine ganze Sekunde. Deshalb nehme ich auch bei mir die Zeit des vorherigen Frames, weil sich die Geschwindigkeit so schneller anpassen kann und auch nur ein einziges Frame eine Geschwindigkeit von 0 haben kann.Dirty Oerti hat geschrieben:Aber es geht dabei ja eh nur um den ersten Frame...^^
Ein weiteres Problem, wenn die Framerate nur jede Sekunde einmal aktualisiert wird tritt dann auf, wenn ein oder mehrere Frames einmal besonders lange brauchen. Stellt euch vor in einer bestimmten Sekunde verbraucht irgendein anderer Prozess plötzlich so viel Leistung, dass das Spiel nur mehr ein oder zwei Bilder rendern kann. Jetzt wird die Framerate aktulisiert und dieser Prozess ist fertig und plötzlich kann das Spiel wieder zb 50 Bilder in einer Sekunde rechnen.
Jetzt wird sich das Spiel dann eine Sekunde lang mit der Bewegungsweite die einer Framrate von 2 FPS entsprechen würde bewegen und das aber 50 mal. Ein Objekt das sich vorher zb 4 Pixel in einer Sekunde bewegt hätte bewegt sich jetzt plötzlich 100 Pixel in der nächsten Sekunde. Und so ein Verhalten kann man in einem Spiel nicht gebrauchen.
Deshalb ist es auch der übliche Weg über die Dauer des vorherigen Frames zu gehen und eventuell um Rechenleistung zu sparen die Framerate auf eine gewisse Obergrenze einschränken.