Anderen Leuten ist es aber nicht egal.Kaeru Gaman hat geschrieben: aber mal im ernst: mir is das doch banane, wenn mein game
100% CPU zieht...
Wieso sollte ein Tetris 100% ziehen und den Prozessor unnötig
belasten und aufheizen? Mein 3D-Rendering im Hintergrund
läuft dadurch dann langsamer, aber ich wollte mir doch nur
mal nebenbei die Zeit vertreiben.
Es gibt tausende Spiele die man mal schnell nebenbei spielen
kann, während der Rechner im Hintergrund voll am werkeln ist.
Ihm dann alle Zeit zu klauen ist unfair - wird er ja nie fertig.
Man braucht aber auch nicht 300.000 mal pro Millisekunde
abfragen ob nun schon 25 Millisekunden vorbei sind.
Da reicht auch alle 1 ms nachzufragen.
Es kommt also drauf an was Du für ein Spiel schreibst und
wo (an welcher Stelle) Du den Loop einsetzt.
Im Hauptmenu ist das Spiel fast Idle und stellt nur bissl das
GUI da. Für kleine Spiele wie Tetris etc. braucht man fast
keine Power, je nach Prozessor vielleicht 1%. Die anderen
99% werden nur verheizt - aber OK, es wird ja Winter.
Das UT2004 nicht mitten im Kampf ein Delay(25) reinmacht
ist klar... aber wenn man nur alle 20ms 50 Sprites auf den
Screen haut, ist auf einigermaßen modernen Rechnern noch
genug Zeit übrig. Das machen die heute oftmals "nebenbei".
Lars hat aber schon Recht: Statt dem pollen wie in dem obigen
Code nimmt man dann doch besser nur FlipBuffers.
Wo Power gebraucht wird, soll Power hin. Aber unnötig
verschwenden und aufheizen muß doch nicht sein.