Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

11

07.05.2005, 20:29

es ist sogar immer im Bereich von 0, deswegen muss man aufpassen das die Zeit nie 0 wird (aufgrund der Ungenauigkeit) kann das passieren :).
Da die Zeit nicht 0 wird, ergibt der Ausdruck doch ein Ergebnis:

C-/C++-Quelltext

1
Spieler1.PosX += 5 * fSekunden //Spieler1 bewegt sich auf der X-Achse 5 Einheiten/Sekunde

das zwar sehr klein ist aber es ist eines! Und es muss auch sehr klein sein, den wenn der Rechner das mehrmals in der Sekunde macht wird das doch trotzdem größer (+=)

Anonymous

unregistriert

12

08.05.2005, 01:25

aha, das mit der Volllast wusste ich noch nicht. Und die FPS sind dann auch tatsächlich die bildschirm-frames?

Das ist ja einfacher als ich dachte *g*
Es will nur noch nicht in mein Schülergedächnis, dass dann zb. NFSU2 (jaja, das ewige beispiel) etliche male in der sekunde die ganze engine neu berechnet. :o
Es ist ein Wunder.

lG, Lukaro

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

13

08.05.2005, 08:37

naja "Engine neu berechnet" ist vielleicht etwas komisch ausgedrückt, es Rendert das Spiel, Überprüft ob Bewegungen gemacht wurden, sendet Netzwerk Code (falls notwenig), berechnet KI und was ein Spiel noch so braucht, Physik u.a. und das bei jedem Frame.

Aber man kann z.B. Teile auch nicht bei jedem Frame "machen" lassen, z.B. Netzwerk! Das reicht wenn man es so 1-2 mal pro Sekunde macht. Das belastet den Rechner und andere Rechner (die im Netzwerk) bei weitem nicht so

PD

unregistriert

14

08.05.2005, 10:29

Und weil manche von den Berechnungen auf alten PCs länger brauchen (die meiste Zeit kostet häufig das Zeichnen von Grafiken und/oder 3D Models etc. :)) sind auf alten PCs die FPS meistens um einiges niedriger als auf neuen ^^

Wollte mal zwischen werfen, was mich intressiert: Wie realisieren die andren eigentlich den Frame counter? ^^ Einfach eine Sekunde lang jeden Frame hoch zählen? Oder die Zeit seit dem letzten Frame nehmen und dann hochrechnen? ^^

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

15

08.05.2005, 10:52

ich handhabe es momentan so, dass ich die vergangene zeit zwischen den letzen 5 frames interpoliere und dann den kehrwert nehme.
eine sekunde lang die frames zählen ist allerdings auch ne coole idee. dann hätte man die echten fps werte...

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

16

08.05.2005, 14:13

Ich mache es so: 1 Sekunde/ZeitproFrame = FPS... um die werte etwas schöner hinzukriegen kann man auch einfach 10 sekunden durch die letzten 10 ZeitproFrame teilen, dann ist es genauer und springt nicht so.

Werbeanzeige