genau danilo ^^
die software is ja installiert von der maus
schon immer.
und selbst als ich den pc platt gemacht hab und alles neu drauf.
es hing wieder so rum.
als ob wenn ich die maus schneller bewege er das nicht mehr erkennt!
MouseDeltaX() und MouseDeltaY() benutze ich nur, wenn man die Karte mit der mittlen Maustaste bewegt. Anstonsten benutze ich ganz normal MouseX(),MouseY().
Es könnte sein dass das an der niedrigen FrameRate die ich benutze (30).
Windows XP: PB 4.31, PB 4.4, PB 4.51
Open Suse 11.2: PB 4.4
#FrameRate = 30
SetFrameRate(#FrameRate)
FrameDauer = 1000 / #FrameRate - 4 ; -4 damit er ein bissel Luft hat...
Repeat
LoopDauer = ElapsedMilliseconds()
; Hier den ganzen Game Kram,
; aber wirklich alles!
; wie lange haben wir gebraucht? =LoopDauer
LoopDauer = ElapsedMilliseconds() - LoopDauer
; wir warten die Differenz zu FrameDauer
Delay( FrameDauer - LoopDauer )
FlipBuffers() ;erst jetzt Flippen wir
Until EXIT
FlipBuffers blockiert die CPU wenn es wartet.
mit einem angepassten Delay wie hier gibst du den Großteil der ungenutzten Zeit fürs OS und damit für Hintergrundtasks frei.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
keine 50, nur 12-16...
da könnte man eine höhere genauigkeit aktivieren, gabs auch schon oft codes dazu...
danilo hat da etliche beispiele gepostet damals...
aber der kernpunkt ist, es ist ausreichend.
wenn bei so einem 30FpS Game mal ein Frame aussetzt, ist das nicht tragisch.
wenn der zusätzliche Maustreiber nicht genug CPU-Zeit bekommt, schon eher.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
@ Kaeru Gaman:
Das Beispiel mit dem "Framerate" kann ich gut in meinem Spiel gebrauchen.
Mich hat's immer gewundert, wenn mein Spiel auf manchen anderen
Computern viel zu schnell läuft.
Danke.
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß