OpenGL: Maus extrem Träge

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

BtbN

Betreff: OpenGL: Maus extrem Träge

BeitragSo, Jun 25, 2006 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bastel jetzt schon ein paar Stunden an dem Problem rum, aber ich find nicht raus, wieso sich die Maus so ruckelig und Träge verhält. Der System-Zeiger läuft Flüssig, aber die Positions-Werte kommen nur sehr verzögert rein. Jemand ne Ahnung warum und was man dagegen tun kann?

Code: [AUSKLAPPEN]
SuperStrict

Framework BRL.GLGraphics
Import BRL.Max2D
Import Pub.OpenGL
Import BRL.System

Global fsa:Int,fsb:Int,fsc:Int

GlGraphics(1024,768,32,0)


glDepthFunc(GL_LESS)
glDisable(GL_TEXTURE_2D)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glShadeModel(GL_SMOOTH)
glOrtho(0,GraphicsWidth(),GraphicsHeight(),0,-1,1)
glMatrixMode(GL_MODELVIEW)
glViewport(0,0,GraphicsWidth(),GraphicsHeight())
glDisable(GL_LIGHTING)
glClearColor 0.0,0.0,0.0,1.0

Repeat
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

    Local mx:Int = MouseX()
    Local my:Int = MouseY()

    glColor3f 1.0,1.0,1.0
    glBegin(GL_QUADS)
        glVertex2f mx-1.5,my-1.5
        glVertex2f mx+1.5,my-1.5
        glVertex2f mx+1.5,my+1.5
        glVertex2f mx-1.5,my+1.5
    glEnd()

    fsc=fsc+1
    If fsa=0 Then fsa=MilliSecs()
    If fsa+1000 <= MilliSecs() Then
        fsb=fsc
        fsc=0
        fsa=MilliSecs()
    EndIf
    glDrawText("FPS : "+fsb,5,5)


    Flip 0
Until KeyHit(KEY_ESCAPE)

End


Ps.: Bin noch sehr neu was OpenGL angeht, für verbesserungen(Auch nicht zum Problem) bin ich vollkommen offen.

Hummelpups

BeitragMo, Jun 26, 2006 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir (winXPpro) läuft es super.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

BtbN

BeitragMo, Jun 26, 2006 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist die gerenderte Maus denn immer an der exact selben Position wie der System-Zeiger?

Hummelpups

BeitragMo, Jun 26, 2006 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ja
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Artemis

BeitragMo, Jun 26, 2006 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
@BtN
Kann es vielleicht sein, dass es ein Linux-Problem ist?
Hier unter SuSE Linux 10.1 ist der Zeiger auch leicht träge, soll heißen er bewegt sich verzögert, wenn ich die Maus schnell bewege. Unter Win hab ichs (noch) nicht ausprobiert.

Edit: Ich meine natürlich nicht den System-Zeiger, sondern das weiße Rechteck.
  • Zuletzt bearbeitet von Artemis am Mo, Jun 26, 2006 13:06, insgesamt einmal bearbeitet

BtbN

BeitragMo, Jun 26, 2006 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Normaler System-Zeiger bewegt sich vollkommen korrekt, exact und schnell.
Nur die Positions-Daten der Maus kommen verzöger im Programm an.
Ich habe rausgefunden, das das ganze irgendwie mit Flip zu tun hat.
Bei "Flip -1" merkt man die Verzögerung fast garnicht, bei "Flip 1" ist sie duetlich zu merken und bei "Flip 0" ist sie schon extremst.
 

Dreamora

BeitragMo, Jun 26, 2006 13:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du Hardwaretreiber für deine ATI oder Software?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BtbN

BeitragMo, Jun 26, 2006 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, sonst hätte ich wohl kaum an die 300FPS.

Markus2

BeitragDi, Jun 27, 2006 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke mal das die Maus Ereignisse von Windows nicht verarbeitet werden weil du mit deiner Hauptschleife das System zu sehr auslastes .
300 mal das "gleiche" Bild darzustellen macht auch keinen Sinn .

BtbN

BeitragDi, Jun 27, 2006 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo zeichne ich 300 mal das selbe Bild?
Und was laste ich zu sehr aus?
Ich zeichne in der Hauptschleife nur ein Quad und berechne die FPS.
 

Skulk

BeitragDi, Jun 27, 2006 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Verbeisst euch bei der Suche nicht zu sehr in seinem ProgrammCode Smile

Ich selbst hatte das Problem vor langer Zeit mit Half-Life 1 - in manchen Auflösungen wollte meine Riva128 einfach kein Flüssiges Spiel bringen.

Dass heist, Flüssig war es, nur ca 1 sek. Zeitverzögert (Mausbewegungen und auch Tastatureingaben)
Damals half es, die OpenGL-Treiber neuzuinstallieren

Heutzutage ist mir das mal bei World of Warcraft aufgefallen. In einer Bestimmten Auflösung reagierte mein Charakter auf Tastatureingaben ebenso zeitverzögert.

Meine Tipps an dich:
- Probier mal eine alternative Auflösung, experimentiere mit 32, 24 und 16bit
- Installiere deine Grafiktreiber neu, nutze am besten ein Deinstallationstool das die Treiberdateien Restlos deinstalliert
- Probiere selbiges mit DirectX, nur um SideEffects zu vermeiden
- Dass keine CPU-Lastige Prozesse im Hintergrund laufen hast du sicher schon überprüft
- probiere es an einem 2t PC (falls möglich) und probiere dort auch mal deine Grafikkarte aus.
- Probiere "tuning-treiber", falls diese für deine Grafikkarte existieren (z.B. gibts für ATI-Besitzer die Omega-Treiber, die einen Tick schneller sind als die Orginaltreiber. Dafür nicht so stabil)


Vielleicht ist es auch nur ein ungünstiges zusammenspiel verschiedener parameter.
Wenn du detailierte Performance-Infos hben möchtes, kannst du den Windowsinternen PerfMon (PerformanceMonitor) mitlaufen lassen.
Klicke dazu mit der rechten maustaste auf arbeitsplatz -> verwalten -> Leistungsprotokolle und Warnungen
Aber Achtung: Nur für Profis geeignet Smile
War doesn't determine who's right,
war determines who's left...

BtbN

BeitragDi, Jun 27, 2006 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Alternative Auflösung/Farbtiefe: Schon Probiert, ändert nur die Zeitverzögerung, lässt sie aber nie verschwinden.
Grafik-Treiber neu installieren: Den Stress tu ich mir nicht an.
DirectX: Hab ich nicht
CPU-Last: Selbst in Purem X und ohne irgendwlehce großen Porzesse im bg das selbe(Es sind doch 300FPS, also Performance ist da)
2. PC: Nicht vorhanden
Tuning-Treiber: Es gibt nur den einen Treiber für mein System
 

Skulk

BeitragDi, Jun 27, 2006 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
also den Grafiktreiber neuinstallieren würde ich dir dennoch ans Herz legen.
das liegt einfach am nächsten...
War doesn't determine who's right,
war determines who's left...

BtbN

BeitragDi, Jun 27, 2006 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe fast einen ganzen Tag an dem Treiber rumgebastelt und getestet bis das Teil endlich lief. So schnell tu ich den nicht mehr da runter. Vorallem gibt es kein Deinstallations-Tool für das Teil.
Und in anderen Spielen kommen die Mausbewegungn Präzise genau an, also liegt das nicht em Treiber.
Und vorallem: Was hat der GraKa-Treiber mit der Maus zu tun?
 

Skulk

BeitragDi, Jun 27, 2006 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
sobald irgendetwas dargestellt wird (und sei es der mousecursor wenn er nicht im hardwaremodus dargestellt wird) läuft es über die GraKa und deren treiber.
aus irgendeinem grund braucht nur der treiber mit verzögerung reagieren und es scheint dir, als wärs die maus.

nur ein gut gemeinter ratschlag von mir, da ich die selben probleme einst unter win hatte...und gezielt in den griff bekam...
War doesn't determine who's right,
war determines who's left...

BtbN

BeitragDi, Jun 27, 2006 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber es kann doch nicht sein, dass der Treiber in dem einen Programm richtig funktioniert und in dem anderen nicht.
Meines wissens nach stellt der fglrx-Treiber nur Hardware OpenGL-Support zur vefügung.
Und OpenGL ist eine reine Grafik-Lib, die sonst nichts kann. Alles andere(Sound, Maus,Tastatur,...) muss man woanders herholen.
Und den Treiber neu zu installieren würde nichts anderes machen als die Dateien zu löschen und dann die selben dateien wieder an die selben Orte zu kopieren.
 

Skulk

BeitragDi, Jun 27, 2006 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine fehlfunktion kann tausende ursachen haben. darunter unwahrscheinliche die dennoch vorkommen: bitfehler bei der übertragung, beschädigte sektoren die fehler erzeugten, etc.

das waren just my 2 cents für die problemlösung...
War doesn't determine who's right,
war determines who's left...

BtbN

BeitragDi, Jun 27, 2006 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, das thema hat sich erledigt.
Seit dem letzen Neustart geht alles so wie gewünscht.
Komisch nur, dass die 5 vorherigen Neustarts nix gebracht haben.
Naja, danke für die Tipps.

Edit: Es ist schon klar gewesen, das ich kein Windows-User bin und ein Treiber-Reinstall auf Linux, vorallem bei ATI, gerne mal nen Tag oder 2 kosten kann?

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group