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
![]() |
C-/C++-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
void main{ double startTime = getTime(); unsigned int frames = 0; double FPS = 0.0f; double activTime = 0.0f; while(run){ SwapBuffers(); activTime = getTime(); if( (activTime - startTime) > 1.0 || frames == 0 ){ FPS = static_cast<double>(frames) / (activTime - startTime); startTime = activTime; frames = 0; } this->frames++; //update input //clear screen if(frames % 60 <= 0){ //bei jeden 60tel frame rendern //rechnen,rendern } //update screen //input anfrage } } |
Ja, eben, überdenken. Das kann zu viel mehr Arbeit führen, obwohl es ohne auch geht. Nur schon bei einfacher Rechteckkollision muss man den ganzen Weg des Objektes zurückverfolgen. Oder wenn irgendetwas alle 0.03 Sekunden ein Partikel ausstossen soll. Die nachträgliche Berechnung wird dann mühsam, wenn man eine gleichmässige Verteilung der Partikel haben will.
Zitat von »"unsigned long"«
Nexus
Wenn einem sowas passiert, sollte man seine Berechnungen noch einmal überdenken, da man viel zu kurz gedacht hat. Wenn ich einen Punkt bewege prüfe ich noch vor der Kollisionsroutine ob es da eine Kollision geben könnte und dann prüfe ich diese mit dem möglichen Objekt.
Hm, da kenne ich mich jetzt zu wenig aus. Betriebssystemspezifische Nachrichten, Benutzereingaben? Ich hatte bis jetzt allerdings noch nie ein Problem mit der oberen Begrenzung der Framerate...
Zitat von »"unsigned long"«
Windows kann Nachrichten nicht mehr Just-In-Time verarbeiten und so könnten wichtige Nachrichten "verschluckt" werden oder treffen zu spät ein, was enorme Folgeschäden mit sich führen könnte.
Anonymous
unregistriert
Anonymous
unregistriert
Und was ist mit den Einwänden von Black-Panther und mir?
Zitat von »"unsigned long"«
Der "Sinn" hinter festen Framerates ist denke ich mal eher Faulheit gewesen.
Anonymous
unregistriert
Werbeanzeige