FPS werden ja jede Sekunde berechnet.. somit ändert sich der Faktor mit dem jede translation, rotation etc mulzipliziert wird jede sekunde..
Mal als beispiel meine ParticleDemo: Sagen wir mal ich habe 100 FPS... läuft normal schnell, jetzt zoome ich schnell an das Feuer ran, was zur folge hat das ich nurnoch 50 FPS habe, aber da die Sekunde nochnicht um ist wird der Zeitfaktor immernoch mit 100 gerechnet.. somit wird das ganze für kurze zeit langsamer und sobald die neuen FPS da sind wird es wieder normal schnell...
kann man da irgendwas gegen machen??? z.B. die FPS alle 100ms Berechnen oder so...?? Also, klar ... gehen tut das Nur, ist das sinnvoll?? bzw. gibt es ne bessere methode???
Also ich nehm immer die Zeit von einem Frame zum nächsten. Bei der Bewegung zum Beispiel multiplizier ich dann mit der Bewegung einer Sekunde und dann ist nach einer Sekunde genausoviel bewegt worden. Probleme hats bei mir damit noch keine gegeben =)
_________________ Give a man a fire and he is warm for a day.
<br>Set a man on fire and he is warm for the rest of his life.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also da muss ich dich korrigieren. Die kannst du nicht jede Sekunde berechnen. Dadurch bekommst du für die Berechnungen eine Verzögerung von einer Sekunde. Wie du selbst ja festgestellt hattest. Du musst diesen Faktor für JEDES Frame berechnen und dann beim nächsten Frame anwenden. Normalerweise misst man vor dem Rendern die Zeit und sobald alles fertig ist wird das berechnet. Das würde dann so ähnlich aussehen.
Code:
Rendermethode begin
ZeitAnfang
Render;
ZeitEnde;
Berechnung;
end;
Und die FPS die du anzeigst, die kannst du ja dann tatsächlich auf eine Sekunde beziehen. So bekommst du dort keine nervöse FPS hin.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Schau mal in mein zweites Bombermantutorial.Dort erklär ich detailliert wie man sowas implementiert ("Timebased Movement", über das wir uns doch schonmal per PM unterhalten hben :unsure: ) und liefer auch gleich den passenden Quellcode mit.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Finalspace hat geschrieben:
Wärs nicht einfacher nen High Resolution Counter zu erstellen ?? Der wird ja berechnet... gleich nach dem Rendern.
Das besteht ja genau das Problem. Aya berechnet den Faktor, der in die Bewegungen einfließen soll, nicht nach jedem Rendern sondern nur ein mal in der Sekunde.
Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.