Schnelligkeit
Übersicht

![]() |
ChesterBetreff: Schnelligkeit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi@all
so nun läuft, das auf allen Computer gleich schnell? Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() While Not KeyHit(1) If MilliSecs()>Timer+20 Then Cls Flip Timer=MilliSecs() EndIf Wend EndGraphics End |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, habe leider nur einen rechner hier, so es ist unnsinn zu testen...
ich nehme aber an, doch... ![]() |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein, tut es nicht.
das timer= millisecs() muss VOR dem flip befehl stehen. noch besser gleich direkt nach der if abfrage. mfg stfighter |
||
Denken hilft! |
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
flip() tut nur eine sache... wechselt zwischen zwei (oder drei bei z.b. tripplebuffering) 32bit werten...
also benutzt es fast kein cpu-time... |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
flip tut 2 sachen.
wartet auf die vertikale sync des bildschirmes und wechselt DANN erst zwischen front u. backbuffer um einen zerstückelten bildschirm zu verhindern. im normalfall kostet das so 10- 15ms rechenzeit. ausnahme " flip 0 " mfg stfighter |
||
Denken hilft! |
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
stfighter01 hat Folgendes geschrieben: wartet auf die vertikale sync da hast du völlig recht, ich habe es einfach ausgelassen... ![]() |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
außerdem läuft es auf Rechnern, die für einen Durchlauf 50 Millisekunden brauchen, beträchtlich langsamer.
Hier könnte man mit frameunabhängigen Zeugs noch halbwegs was rausholen. Allerdings hauen dann Dinge wie Kollision nicht mehr hin und ich bin der Auffassung, dass es halt Spiele gibt, die eine bestimmte Schnelligkeit des Rechners vorraussetzten können. Kann sein, dass die bei einem B3D Spiel mal schnel bei nem P3 mit 500 MHz liegt. Aber wer hat noch so einen PC und die ernsthafte Absicht, ein 3D Spiel zu spielen. (keine Kommentare erwünscht). Alles in allem kann man diese Methode also durchgehen lassen. MfG D2006 |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
du sollst immer das ganze game logik jede mainloop durchlauf durchführen... aber du kannst es so machen:
1. mäss wie viel zeit zeichnen bedarf 2. game logic soll nun so viele mal (ohne zeichnen) durchlaufen wie beim zeichnen verpasst hat da hast du konstante FPS... siehe castle.bb in demo verzeichnis, und hole dir die kode raus (wenn es um 3D geht) |
||
Norweger...
Spreche aber verdammt gut 8086 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group