Unterschiedliche Performance

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Keimax

Betreff: Unterschiedliche Performance

BeitragFr, März 05, 2004 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ich hatte so ein Thread schonmal in einem der alten Foren, aber
ich bräuchte nochmal eure Thesen.
Woran könnte es liegen das ein 2d Spiel (Jump and run)
auf Rechnern unterschiedlichster Performance unterschiedlich
schnell läuft?
Also das Spiel läuft auf einem XP3000 mit Geforce FX langsamer
als auf einem P3 1000 mit Geforce 2 MX. (Beispiel...)
Wie kann ich den Fehler finden?

cu
XP3000, FX6600, 1024DDR, BB2d @ W2k,
- > Diesen Text bitte nicht beachten <-

bruZard

BeitragFr, März 05, 2004 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst das Game von "MilliSecs()" abhängig machen ... führe Berechnungen in Zeitabschnitten durch und zeichne die Grafik sooft wie es die Karte verkraftet.

Pseudocode:
Code: [AUSKLAPPEN]

time=MilliSecs()
Repeat
  If Millisecs-time>33
    ; berechne alle Daten
     time=MilliSecs()
  EndIf

  ; Male die Gamegrafik

  Flip
Until KeyHit(1)

Dieser Code berechnet Koordinaten etc. mit 30FPS
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

TheShadow

Moderator

BeitragFr, März 05, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir Graphics genau an - da steht ein Hinweis...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Keimax

BeitragFr, März 05, 2004 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm habe den hinweis nicht gesehen???
auf einem xp3000 mit 256 MB Geforce FX sollte ein jump and run
in 800*600 mit 16 Bit wohl flüssig laufen, zumal es ja mit "kleineren"
Rechnern 1A läuft.
Aber trotzdem danke Wink

cu
XP3000, FX6600, 1024DDR, BB2d @ W2k,
- > Diesen Text bitte nicht beachten <-

TheShadow

Moderator

BeitragSa, März 06, 2004 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
was von Framegrenze gehöert? XP/2000 haben da probs mit laufen mit 60hz
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Xenon

BeitragSa, März 06, 2004 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
nenene ...

bruZard, das Bsp is schlecht, da läuft es trotzdem nicht immer gleich schnell!

Hier Pseudocode:

Code: [AUSKLAPPEN]
Repeat
time# = (MilliSecs()-lasttime)/1000.0
lasttime = MilliSecs()

; Move
; Bewege den Spieler 50 Pixel/Einheiten pro Sekunde
pos# = pos# + 50*time#*KeyDown(208)
Untile Keydown(1)
 

c64

BeitragSo, März 07, 2004 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoffe das kann helfen !! :

!!! ist aus der OnlineHilfe !!!
------------------------------------


Code: [AUSKLAPPEN]

; Create the timer to track speed
frameTimer=CreateTimer(60)

; Your main screen draw loop
While Not KeyHit(1)
WaitTimer(frameTimer) ; Pause until the timer reaches 60
Cls
; Draw your screen stuff
Flip
Wend

MVB

BeitragSo, März 07, 2004 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder mach es Frameunabhängig! Also programmier nen Framezähler, und dann statt
Code: [AUSKLAPPEN]
x#=x#+1

nimm
Code: [AUSKLAPPEN]
x#=x#+0,01*FPS
Wink
aquamonit.de|BlitzMax|MaxGUI
 

Edlothiol

BeitragSo, März 07, 2004 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist dann stark Frameabhängig so wie dus machst Wink
Wenn die FPS höher sind, bewegen sich die Objekte schneller Rolling Eyes
Du müsstest stattdessen mit (gewollte_fps (z.B. 60) / FPS) malnehmen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group