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
Quellcode |
|
1 2 3 |
tbResult Render(float fNumSecsPassed){if(bframe) { DWORD dword; dword=(DWORD)((fframerate-fNumSecsPassed)*1000.0f); Sleep(dword); bframe=0; return TB_OK; } bframe=1;//renderstuff} |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Tu Dir und uns allen doch einen Gefallen und erzähle nur das, was Du wirklich gelernt hast und nicht das, was Du glaubst. Das ist alles nämlich ziemlicher Unfug und die Quelle schlecht.Zitat von »Nimelrian«
Es ist ein Unterschied, ob eine GPU 3000 Extraframes pro Sekunde rendert, was du ganz schnell an einer riesigen Temperaturerhöhung/Auslastung sehen kannst, oder ob eine CPU 5000 Extraabfragen macht.
Abgesehen davon, wenn du immer eine feste Zeit lang dein Programm schlafen lässt, dann kommt es zu Rucklern, so klein sie auch sind.
Wieso? Weil du zwar immer gleichlang wartest, deine GPU aber unterschiedlich lang für das Rendern unterschiedlicher Frames braucht.
Deswegen nutzt man, soweit mir bekannt, eher die Lösung über if-Abfragen, wie von mir dargestellt.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »BlueCobold« (03.09.2012, 06:55)
Alter Hase
Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy
Ich habe nach einer Lösung gesucht um die framerate zu limitieren. Ich dachte, dass die Mitglieder in diesem Forum über so etwas bescheid wissen und mir eine Lösung mitteilen könnten, da es sich hier um ein simples Standardproblem handelt.
Werbeanzeige