Drastischer FPS-schwund bei Mausbewegung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

FBI-blitz

Betreff: Drastischer FPS-schwund bei Mausbewegung

BeitragDo, Okt 19, 2006 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

zur Zeit arbeite ich daran, mein Spiel zu optimieren. Dabei habe ich bei jedem Schritt die FPS-Werte gemessen.

Irgendwann ist mir dann aufgefallen, dass eine Mausbewegung die FPS-Werte drastisch senkt. Und zwar nicht nur während der Mausbewegung, sondern auch danach.

Woran liegt das/könnte das liegen?

Ich verwende in der Hauptschleife einige 3D-Befehle, für die Maus hauptsächlich folgenden Code:

Code: [AUSKLAPPEN]
 mousemovex = MouseXSpeed()
 mousemovey = MouseYSpeed()
                              
 If mousemovex > 0 And mausx < 1280*rel_x# Then mausx = mausx + Int(mousemovex*mausempfindlichkeit#)
 If mousemovex < 0 And mausx > 0 Then mausx = mausx + Int(mousemovex*mausempfindlichkeit#)
 
 If mousemovey > 0 And mausy < 1024*rel_y# Then mausy = mausy + Int(mousemovey*mausempfindlichkeit#)
 If mousemovey < 0 And mausy > 0 Then mausy = mausy + Int(mousemovey*mausempfindlichkeit#)
 
 
 
 DrawImage fadenkreuz, mausx, mausy   ;Fadenkreuz an Mauskoordinaten zeichnen


Ich hoffe, dass ihr mir helfen könnt!

Vielen Dank
FBI
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
  • Zuletzt bearbeitet von FBI-blitz am Fr, Okt 20, 2006 14:32, insgesamt einmal bearbeitet
 

Dreamora

BeitragDo, Okt 19, 2006 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das problem ist das DrawImage. Da dies ein 2D Befehl ist, zieht er automatisch an der Performance.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

FBI-blitz

BeitragFr, Okt 20, 2006 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
aber er zeichnet doch auch, wenn ich die Maus nicht bewege !?
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
  • Zuletzt bearbeitet von FBI-blitz am Fr, Okt 20, 2006 14:32, insgesamt einmal bearbeitet

Fuchsi

BeitragFr, Okt 20, 2006 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, jedoch muss wegen der Mausbewegung das Bild immer neu berechnet werden.
 

FBI-blitz

BeitragFr, Okt 20, 2006 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Stimmt, jedoch muss wegen der Mausbewegung das Bild immer neu berechnet werden.


Aber woher weiß er das denn? Ich teile es ihm ja nicht mit oder habe eine Abfrage. Ist Blitz so selbstständig? Er muss das Bild doch sowieso immer neu berechnen?!

Außerdem: Ich habe gerade mal das
Code: [AUSKLAPPEN]
DrawImage fadenkreuz, mausx, mausy   ;Fadenkreuz an Mauskoordinaten zeichnen
auskommentiert und trotzdem tritt das gleiche Phänomän auf...

FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Blitzcoder

Newsposter

BeitragFr, Okt 20, 2006 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann liegt es vielleicht an Int(). Aber so langsam ist das eigentlich nicht.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

Dreamora

BeitragFr, Okt 20, 2006 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles andere was an der Mausbewegung hängt, hat natürlich auch einen Einfluss. Solltest du zb die Kamera drehen, so ist klar das die FPS runter gehen. (je mehr polygondaten etc du hast desto stärker der einfluss)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Christoph

BeitragFr, Okt 20, 2006 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, dass die entscheidene Stelle gar nicht in dem Codeausschnitt ist, den du da oben stehen hast.

Kannst du mal alles was auch nur im geringsten mit der Maus zu tun hat, zeigen?

Zitat:
Dann liegt es vielleicht an Int(). Aber so langsam ist das eigentlich nicht.

Er sagte aber, dass auch nach dem Bewegen alles langsamer ist, d.h. int() kann es eigentlich gar nicht sein
 

FBI-blitz

BeitragFr, Okt 20, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
mausdruck = GetMouse()   ;Überprüfen ob eine Maustaste gedrückt wurde


Code: [AUSKLAPPEN]
picentity=CAMERAPICK(camera,mausx,mausy)


Und der obige Code natürlich. Das wars eigentlich. (Ich habe jetzt mal die stellen rausgelassen, wo mit einer If-Bedingung das Betätigen der Maustaste abgefragt wird, da es ja auch schon durch eine reine Bewegung langsamer wird.)


EDIT: Habe jetzt mal Camerapick auskommentiert und siehe da: alles war in Ordnung. Ist Camerapick wirklich so langsam???
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Blitzcoder

Newsposter

BeitragFr, Okt 20, 2006 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das ist es.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group