Plattform-unabhängiges Sleep()



  • Ne sorry, ich glaub das funzt so nicht.
    (Nen Timer hab ich schon)
    Ich will den Thread warten lassen, ohne CPU Auslastung.



  • boost::thread::yield und boost::thread::sleep wären was für dich



  • Hey danke
    das wär was ja.
    Was haltet ihr von SDL_Delay? Da ich eh schon mit SDL arbeite..



  • SDL_Delay geht glaube ich nur bis zu einer "Auflösung" von 10ms, bei meinem kleinen 2D Shooter reicht das aber bis jetzt.
    Wenn es für ein Spiel ist, musst du halt gucken dass die Steuerung nicht dadurch harkelig wird...



  • Hmja Danke
    ist für ein Spiel (jedenfalls solls mal eins werden 🙂 )
    Aber Sleep wird ja auch keine feinere Auflösung haben, wegen der Zeitscheiben.

    Andere Frage: bei welcher Framerate läuft dein Spiel?
    Ich möchte nämlich die Zeit zwischen den Frames freigeben, wenigstens im Debug Modus, da es zum Test manchmal im Hintergrund läuft.
    Und bei 60FPS sind ja nur noch 16.6~ ms zwischen jedem Frame, also mit 10ms Sleep etwas knapp oder?



  • Du kannst ja eh nicht mit vollen 1000ms rechnen, andere Anwendungen und das Betriebssystem sind ja auch noch dran. Ich würds einfach mal testen die übrige Zeit in diesem Frame als Sleepwert zu verwenden und schauen wie es damit läuft.



  • Ein Sleep gehört nicht ein Spiel. NIEMALS!!!



  • bitte lass es weg schrieb:

    Ein Sleep gehört nicht ein Spiel. NIEMALS!!!

    Also ein Spiel sollte wenn immer möglich per definition 100% CPU Auslastung haben? 😕



  • 1310-Logik schrieb:

    bitte lass es weg schrieb:

    Ein Sleep gehört nicht ein Spiel. NIEMALS!!!

    Also ein Spiel sollte wenn immer möglich per definition 100% CPU Auslastung haben? 😕

    Genau. Du solltest die überflüssige Zeit zB für schönere Animationen nutzen, oder bessere Effekte, bessere KI, schonmal die nächsten Daten in den Speicher schieben,...

    Nur so Sachen wie Kollision und Physik sollten immer gleich sein, wäre ja fies wenn der schlechtere PC seltener trifft 😃



  • Dr. Prof schrieb:

    Nur so Sachen wie Kollision und Physik sollten immer gleich sein, wäre ja fies wenn der schlechtere PC seltener trifft 😃

    😃 👍

    schon verstanden.
    ich mach halt auch kein highend 3D shooter.
    und während der entwicklung brauch ich noch ein bisschen cpu zeit für dies forum zB, und für Musik und sowas..



  • 1310-Logik schrieb:

    Dr. Prof schrieb:

    Nur so Sachen wie Kollision und Physik sollten immer gleich sein, wäre ja fies wenn der schlechtere PC seltener trifft 😃

    😃 👍

    schon verstanden.
    ich mach halt auch kein highend 3D shooter.
    und während der entwicklung brauch ich noch ein bisschen cpu zeit für dies forum zB, und für Musik und sowas..

    Also ich kann Spiele spielen die 100% CPU Auslastung erzeugen und Musik hören...



  • 1310-Logik schrieb:

    Dr. Prof schrieb:

    Nur so Sachen wie Kollision und Physik sollten immer gleich sein, wäre ja fies wenn der schlechtere PC seltener trifft 😃

    😃 👍

    schon verstanden.
    ich mach halt auch kein highend 3D shooter.
    und während der entwicklung brauch ich noch ein bisschen cpu zeit für dies forum zB, und für Musik und sowas..

    Trotzdem solltest du dann kein Sleep() benutzen, denn so etwas gibt es schon: Nennt sich Vertikale Synchronisation und lässt sich bei dem Grafikkartentreiber aktivieren.

    mfg.


Anmelden zum Antworten