"Unglaubwürdigkeitsproblem" bei Frameratenberechnung


  • Mod

    hustbaer schrieb:

    und die misst man natürlich pro Frame. Ich weiss nicht was der Einwand soll ... ?!?

    also wirklich vernuenftige menschen machen logic und rendering eh nicht voneinander mehr abhaengig als noetig also laeuft logic in logicframes ganz unabhaengig von der framerate 😉



  • Aber wenn FPS ebenfalls von der delta time abhängen und jeden Frame aktualisiert werden, ist das doch wohl egal, wie man Geschwindigkeiten letztendlich berechnet


  • Mod



  • @xindon:
    Ich weiss immer noch nicht was der Einwand sollte. Wenn ich die Framerate will muss ich von der delta time ausgehen. Die kann ich messen, und dann wie ich lustig bin (gemittlet oder auch nicht) eine Framerate daraus berechnen.

    Aber warum in aller Welt sollte ich wenn ich dann eben beides habe gerade die Framerate verwenden um irgendwelche Bewegungen zu steuern? Und schon garnicht wenn ich die Framerate gemittelt habe, die delta time aber noch "roh" ist?
    Verstehe ich nicht wie man darauf kommen könnte das so zu machen. Klar wäre es Blödsinn, aber eben weil es so offensichtlich Blödsinn wäre verstehe ich den Hinweis darauf nicht...



  • hustbaer schrieb:

    Aber warum in aller Welt sollte ich wenn ich dann eben beides habe gerade die Framerate verwenden um irgendwelche Bewegungen zu steuern? Und schon garnicht wenn ich die Framerate gemittelt habe, die delta time aber noch "roh" ist?
    Verstehe ich nicht wie man darauf kommen könnte das so zu machen. Klar wäre es Blödsinn, aber eben weil es so offensichtlich Blödsinn wäre verstehe ich den Hinweis darauf nicht...

    Inzwischen ist mir auch klar, was du willst und das es sinnvoller ist, aber ich möcht dir grad noch erklären, wie ich konstante Bewegungen realisiert hab.

    Nehmen wir an, ich verteile meinen Figuren feste Geschwindigkeiten, die ich bei 60fps für richtig halte.
    Wenn das Programm jetzt mit 90fps läuft, kann man ja mit deinen beiden Frameraten einen Faktor ausrechnen (60/90) und dann multipliziert man die Bewegungsgeschwindigkeit mit diesem Faktor...


  • Mod

    xindon schrieb:

    hustbaer schrieb:

    Aber warum in aller Welt sollte ich wenn ich dann eben beides habe gerade die Framerate verwenden um irgendwelche Bewegungen zu steuern? Und schon garnicht wenn ich die Framerate gemittelt habe, die delta time aber noch "roh" ist?
    Verstehe ich nicht wie man darauf kommen könnte das so zu machen. Klar wäre es Blödsinn, aber eben weil es so offensichtlich Blödsinn wäre verstehe ich den Hinweis darauf nicht...

    Wenn das Programm jetzt mit 90fps läuft, kann man ja mit deinen beiden Frameraten einen Faktor ausrechnen (60/90) und dann multipliziert man die Bewegungsgeschwindigkeit mit diesem Faktor...

    das heisst, je nach framerate werden sie verschiedene kurven laufen und verschieden oft "nachdenken"? *hehe*



  • rapso schrieb:

    das heisst, je nach framerate werden sie verschiedene kurven laufen und verschieden oft "nachdenken"? *hehe*

    Versteh ich jetzt nicht, was du damit meinst?


  • Mod

    xindon schrieb:

    rapso schrieb:

    das heisst, je nach framerate werden sie verschiedene kurven laufen und verschieden oft "nachdenken"? *hehe*

    Versteh ich jetzt nicht, was du damit meinst?

    was daran faellt dir schwer zu verstehen?



  • kurven laufen? nachdenken?

    und wer ist überhaupt "sie" ?


  • Mod

    xindon schrieb:

    kurven laufen? nachdenken?

    Prädikat?

    xindon schrieb:

    und wer ist überhaupt "sie" ?

    xindon schrieb:

    ...meinen Figuren...



  • och man ich gebs gleich auf...

    ich nehme mal an, mit "sie" sind die Figuren gemeint, aber warum sollten sie Kurven laufen? und über was sollen sie denn nachdenken?


  • Mod

    xindon schrieb:

    ich nehme mal an, mit "sie" sind die Figuren gemeint, aber warum sollten sie Kurven laufen?

    weil es ziemlich langweilig waere nur geradeaus zu laufen, irgendwann muessen sie abbiegen/kurven laufen.

    und über was sollen sie denn nachdenken?

    die handlungen die sie durchfuehren.



  • Sag mal willst du jetzt auf einen Fehler/Bug in meiner Berechnung raus oder willst du mich einfach nur verscheissern? :p


  • Mod

    xindon schrieb:

    Sag mal willst du jetzt auf einen Fehler/Bug in meiner Berechnung raus oder willst du mich einfach nur verscheissern? :p

    raffst du das echt nicht dass deine simple idee nur bei linearer bewegung richtig laufen kann?



  • rapso schrieb:

    xindon schrieb:

    Sag mal willst du jetzt auf einen Fehler/Bug in meiner Berechnung raus oder willst du mich einfach nur verscheissern? :p

    raffst du das echt nicht dass deine simple idee nur bei linearer bewegung richtig laufen kann?

    Ja was ist denn bitte eine lineare Bewegung? Wenn meine Objekte eine Position und einen Bewegungsvektor haben. Die Länge des Bewegungsvektors multipliziere ich mit dem oben genannten Faktor.. was soll da schief gehen?


  • Mod

    xindon schrieb:

    rapso schrieb:

    xindon schrieb:

    Sag mal willst du jetzt auf einen Fehler/Bug in meiner Berechnung raus oder willst du mich einfach nur verscheissern? :p

    raffst du das echt nicht dass deine simple idee nur bei linearer bewegung richtig laufen kann?

    lineare Bewegung?Position und Bewegungsvektor

    xindon schrieb:

    was soll da schief gehen?

    rapso schrieb:

    ...nur bei linearer bewegung richtig laufen kann?

    ➡ nicht lineare bewegung



  • Tut mir leid, es is schon spät und seit ich vorhin meine Matrix Klasse geschrieben hab, bin ich leicht matschig im Kopf (grr die ganzen Indizes)..

    Du willst mir also sagen, dass ich das so nicht machen kann, wenn die Bewegungsgeschwindigkeit nicht konstant ist. Naja is mir jetzt auch egal, ich geh schlafen :p sorry, dass ich dich genervt hab 😞


  • Mod

    xindon schrieb:

    Tut mir leid, es is schon spät und seit ich vorhin meine Matrix Klasse geschrieben hab, bin ich leicht matschig im Kopf (grr die ganzen Indizes)..

    Du willst mir also sagen, dass ich das so nicht machen kann, wenn die Bewegungsgeschwindigkeit nicht konstant ist. Naja is mir jetzt auch egal, ich geh schlafen :p sorry, dass ich dich genervt hab 😞

    ja, sobald geschwindigkeit, richtung sich aendern, oder logic berechnet wird, ist diese interpolation ungenau und kann von pc zu pc ein anderes spiel erzeugen. bei jemandem mit 100fps kann es sein dass homing-missiles immer treffen, bei jemandem mit 15fps koennten sie in eine umlaufbahn um das ziel einschwenken.



  • Ja aber das ist ja dann immer so, wenn man Bewegungen von der Zeit abhängig macht.

    Bei deinem Beispiel mit der Homing Missile könnte man der Rakete ja auch einen kleinen Radius verpassen, bei dem sie schon hochgeht..


  • Mod

    xindon schrieb:

    Ja aber das ist ja dann immer so, wenn man Bewegungen von der Zeit abhängig macht.

    nein, wenn die bewegung immer fuer gleiche zeitabstaende berechnet wird, ist es auf jedem rechner gleich (falls die hardware nicht ungenauigkeiten hat)

    Bei deinem Beispiel mit der Homing Missile könnte man der Rakete ja auch einen kleinen Radius verpassen, bei dem sie schon hochgeht..

    das ist doch nicht der punkt. worauf es ankommt ist doch dass ein spiel fuer jeden gleich spielbar ist.


Anmelden zum Antworten