Hallo Leute!
In meinem Projekt kommt es zZt. zu Diskussionen um unseren GameLoop.
Dementsprechend habe ich mein Buch "GameProgrammingPatterns" noch einmal heraus gekramt.
Beim erneuten durchlesen bin ich entweder dümmer oder klüger geworden
Das sollt ihr mir bitte aufzeigen
Es geht um folgenden GameLoop (Sorry bekomme den Pseudocode ausm Buch hier nicht formatiert):
double previous = getCurrentTime();
double lag = 0.0;
while(true)
{
double current = getCurrentTime();
double elapsed = current - previous;
previous = current;
lag += elapsed;
processInput();
while(lag >= MS_PER_UPDATE)
{
update();
lag -= MS_PER_UPDATE;
}
render();
}
Was ich an diesem Code nicht verstehe - kann auch daran liegen, dass es relativ früh ist - ist, dass current und previous doch fast den gleichen Wert haben...diese Zuweisung geht doch so arsch schnell. Da ist ja keine große CPU Cycle Arbeit dahinter. Würde previous nach processInput() und Update() erst kommen dann würde das ja sinnvoll sein. Da dann wenigstens ne anständige TimeGap zwischen denen previous und current wäre.
Oder verstehe ich hier was falsch?
Das erste Previous über der while Schleife wird ja nur einmal zugewiesen. Da die While Schleife ja (True) bzw (window.isOpen) ist - kann man mit dem previous dort oben ja in der Schleife garnicht mehr rechnen außer beim ersten Durchlauf.
Bitte um Aufklärung ob ich ein Depp bin
gruß Charlie