Sleep in Engines

  • Moin,
    Wie das Thema schon sagt eine ganz interesannte Frage.
    Mein Problem mit Sleep ist, in der zeit die man eingibt passiert halt einfach nichts :P.
    Aber man muss es ja reinmachen sonst kommt ja die geschichte mit der 99% oder 100% Prozessorlast.
    Jetz hab ich mir mal überlegt wie kann man das Sleep umgehen.
    Ich meine wenn in einer Multiplayer Gameengine so ein Sleep drinnen wäre, das wäre ja alles andere als in Ordung.
    Deshalb mal so ne frage in den Raum, wie machen das den die Entwickler das sie so ne extreme Geschwindichkeit haben ... und ich vermute mal das liegt nicht nur an C++ sonder sicher auch das die wahrscheinlich keine Sleeps verbauen und an nem "gut" gekürtzten code.

    MFg Matthias

  • Hi,

    die Frage ist etwas konfus aber ich glaube du möchtest wissen wieso zB. Spiele eine so gute Performance haben?! Das liegt nun zum Teil an starken Optimierungen, aber eben auch daran das diese Spiele in anderen, nicht interpreter Programmiersprachen geschrieben sind. Weiterhin werden meistens mehrer Kerne genutzt. Was du mit dem Sleep meinst verstehe ich nicht richtig, meinst du wieso die Spiele auch wärend eines Sleeps reagieren? Das kann viele Gründe zum ersten könnte man mehrer Threads haben, die nicht alle ein Sleep besitzen zum anderen können Events genutzt werden.

  • Es wird schlichtweg mit mehreren DLL Datein gearbeitet, die in C++ auch parallel zum Programm laufen können. Das hat zur Folge, das in dem Programm, oder auch Spiel mehr als eine Funktion gleichzeitig ausgeführt wird. Das hat wieder zur Folge, das du es nicht merkst, wenn nur eine der Funktionen pausiert.
    Ich hoffe das ich es halbwegs verständlich erklären konnte :wacko:

  • Jo das hats erklärt also benutzen die auch Sleeps, blos da da mehrere Dlls Paralel zum programm laufen bemerkt man das nich wirklich alles klar