Quote from: WPShadow on 2009-Jul-08
Deshalb wird die L?sung wohl folgenderma?en sein:
LIMITFPS 100
Ich ?berlegen wegen einem Systemcheck, der beim ersten Start des Programmes die max. m?glichen FPS messen kann und aufgrund dessen die Rate automatisch anpassen kann!
Du bindest die Bewegung wieder an die Frames. Das ist nicht frameunabh?ngig und wird zwangsl?ufig zu verf?lschten Bewegungen auf bei sehr verschiedenen Systemen f?hren!
Du testet mit Deiner Methode am Anfang die max. Fps f?r eine bestimmte Situation. Im richtigen Spiel kommen dann aber wahrscheinlich noch Berechungen f?r Bewegungen, Verhalten, Level?berwachung (Gameover, Bonusleben etc) dazu. Das erg?be eine andere max. FpS.
Ausserdem steigt der Berechungsaufwand pro Sprite nicht linear an (1Sprite=max. 500 Fps, 2 Sprites= max. 250 Fps usw.).
Wenn Du also einen "Stresstest" mit 10000 Sprites (zoomend und rotierend) durchf?hrst, hei?t das nicht, dass Du mit nur 1000 Sprites auch entsprechend 10x schnellere Fps kriegst.
Zus?tzlich m?sste der Test am Anfang jeder Spielsession durchgef?hrt werden, da ja durchaus auf einem PC auch andere Progs im Hintergrund laufen k?nnen und bei der n?chsten Spielsession dann wieder nicht...
Einen Test mit einer "gestellten" Spielsituation etc halte ich daher f?r eher kontraproduktiv.
Die Limitierung der Fps per Befehl ist im Bezug auf eine Geschwindigkeit angegeben in Pixel pro Frame (wovon ich ausgehe, sonst w?rdest Du ja ?ber die Zeit verkn?pfen und das ganze anders aufziehen) nur sinnvoll, wenn klar ist, dass die maximal eingestellten Frames auch immer erreicht werden. Zu niedrige Framerate bedeutet dann zu langsame Bewegungen. Man sichert also nur gegen zu schnelle Bewegungen ab.
Ich glaube, Du machst es dir zu kompliziert. Aber vielleicht verstehe ich Deinen Ansatz auch nur falsch....