Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 23, 2025 11:03

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Apr 20, 2003 00:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

hab mal ne frage zur FPS Unabhängigkeit... :)

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???

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 20, 2003 08:33 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 19:10
Beiträge: 7
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 20, 2003 08:36 
Offline
DGL Member
Benutzeravatar

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:
  1.  &nbsp;Rendermethode begin
  2.  &nbsp; &nbsp;ZeitAnfang
  3.  &nbsp; &nbsp;Render;
  4.  &nbsp; &nbsp;ZeitEnde;
  5.  &nbsp; &nbsp;Berechnung;
  6.  &nbsp;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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 20, 2003 08:56 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 22, 2003 09:39 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Wärs nicht einfacher nen High Resolution Counter zu erstellen ?? Der wird ja berechnet... gleich nach dem Rendern.

matane,
Final


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 22, 2003 10:28 
Offline
DGL Member
Benutzeravatar

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.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.021s | 17 Queries | GZIP : On ]