SDL Framelimit



  • Für feste Logikschritte habe ich kürzlich ein Codeschnipsel gepostet. Einfach mal suchen (NEIN! nicht die Boardsuche, von Hand... leider). Zu relativer Bewegung in die FAQ schauen.
    geloescht



  • SDL_Ticks():
    Get the number of milliseconds since the SDL library initialization. Note that this value wraps if the program runs for more than ~49 days.

    Bist du sicher das dein Code funktioniert?



  • also mit GetTickCount() von windows.h funktioniert es. ich nehme mal an dass die funktionen die selbe ""funktion"" haben 😉



  • Glückwunsch. Jetzt seid ihr auch da angekommen, wo ich bereits mit meinem 1. Posting war 😉



  • Wie schon gesagt, ohne eine Möglichkeit zu warten (WaitForSingleObject, Sleep, ...) ist das aber völliger Schwachsinn.

    Dann wird zwar nur mit max. XX fps gerendert, die restliche Zeit wird aber trotzdem von der CPU für die Endlosschleife verbraten.
    Dann kann man auch lieber wie wild durchrendern... hat man mehr von.

    BTW: @Fensteranwendung: Wenn das kein Game (bzw. Software mit ähnlichen Interaktionsmöglichkeiten) ist, sondern nur ein Modelviewer oder sowas, wär's sicher schlauer nur bei PAINT-Events überhaupt neu zu zeichnen bzw. solange sich nichts ändert.



  • Sgt. Nukem schrieb:

    Dann wird zwar nur mit max. XX fps gerendert, die restliche Zeit wird aber trotzdem von der CPU für die Endlosschleife verbraten.
    Dann kann man auch lieber wie wild durchrendern... hat man mehr von.

    Dann hab ich nicht mehr xx fps.



  • interpreter schrieb:

    Sgt. Nukem schrieb:

    Dann wird zwar nur mit max. XX fps gerendert, die restliche Zeit wird aber trotzdem von der CPU für die Endlosschleife verbraten.
    Dann kann man auch lieber wie wild durchrendern... hat man mehr von.

    Time based rendering und frame based rendering sind unterschiedliche Sachen.

    LOL, dann verbrate ich halt nach jedem Renderdurchgang drölfzig Trillionen CPU-Cycles, bis wieder 30 msec um sind... 🙄



  • Zuletzt bearbeitet schrieb:

    Sgt. Nukem schrieb:

    Dann wird zwar nur mit max. XX fps gerendert, die restliche Zeit wird aber trotzdem von der CPU für die Endlosschleife verbraten.
    Dann kann man auch lieber wie wild durchrendern... hat man mehr von.

    Dann hab ich nicht mehr xx fps.

    Höh?! 😕



  • rapso schrieb:

    sleep sorgt nicht dafür dass der cpu irgendwas mitgeteilt wird, sondern lediglich dafür dass für die angegebene zeit dein prozess keine rechenzeit bekommt.

    Eben, darum geht es ja mit Sleep auch nicht.

    Bye, TGGC (Das Jahr des Helden)



  • Sgt. Nukem schrieb:

    interpreter schrieb:

    Sgt. Nukem schrieb:

    Dann wird zwar nur mit max. XX fps gerendert, die restliche Zeit wird aber trotzdem von der CPU für die Endlosschleife verbraten.
    Dann kann man auch lieber wie wild durchrendern... hat man mehr von.

    Time based rendering und frame based rendering sind unterschiedliche Sachen.

    LOL, dann verbrate ich halt nach jedem Renderdurchgang drölfzig Trillionen CPU-Cycles, bis wieder 30 msec um sind... 🙄

    Wenn ich Frame Based Rendering benötige und mir andere Programme egal sind (was bei Spielen im Vollbildmodus meistens der Fall ist): Ja.



  • Wie hast du btw per sdl vsync ausgestellt? 🙄


Anmelden zum Antworten