SDL_GetMouseState() zu langsam



  • Hi,

    ich will in meinem Programm die Cursorposition abfragen. Bis jetzt habe ich das immer mit SDL_GetMouseState() gemacht, allerdings ist diese Funktion für meine jetzige Verwendung ungeeignet, weil sie viel zu langsam ist. Gibt es eine andere Möglichkeit(andere Funktion) die Mauszeigerposition abzufragen?

    Gruß Crabbe



  • Ruf halt die Fkt. nicht so oft auf.

    Bye, TGGC \-/



  • Hm, was heisst denn viel zu langsam?..



  • durito schrieb:

    Hm, was heisst denn viel zu langsam?..

    Manchmal dauert es fast eine sec bis die Funktion erneut die neue Position des Cursors angibt.

    Gruß Crabbe



  • hast du mal sdl_pumpevents probiert vor deinen abfragen
    http://sdldoc.csn.ul.ie/sdlpumpevents.php



  • Crabbe schrieb:

    durito schrieb:

    Hm, was heisst denn viel zu langsam?..

    Manchmal dauert es fast eine sec bis die Funktion erneut die neue Position des Cursors angibt.

    Gruß Crabbe

    Hm, das kann nicht sein. Ich verwend hier auch SDL um für nen Sim die Mausposition abzufragen, klappt prima.
    Wie/Wann rufst Du SDL_GetMouseState() denn auf?



  • miller_m schrieb:

    hast du mal sdl_pumpevents probiert vor deinen abfragen
    http://sdldoc.csn.ul.ie/sdlpumpevents.php

    Ja, habe ich drin.

    durito schrieb:

    Crabbe schrieb:

    durito schrieb:

    Hm, was heisst denn viel zu langsam?..

    Manchmal dauert es fast eine sec bis die Funktion erneut die neue Position des Cursors angibt.

    Gruß Crabbe

    Hm, das kann nicht sein. Ich verwend hier auch SDL um für nen Sim die Mausposition abzufragen, klappt prima.
    Wie/Wann rufst Du SDL_GetMouseState() denn auf?

    Erst hatte ich die Fkt. in der Ereignisschleife, jetzt in einem Timer, der die Fkt jede 100stel Sekunde aufruft, wenn der Cursor bewegt wird. Das Ergebnis ist besser, aber immer noch nicht ideal.

    Gruß Crabbe



  • Hm, k.A.

    Also ich frag in meinem Grafik-Loop (alle 13ms) das SDL_MOUSEMOTION-Event ab. Das funktioniert gut, ohne spuerbare Verzoegerung.

    SDL_Event event;
    while(SDL_PollEvent(&event)) {
    	switch(event.type) {
    	case SDL_MOUSEMOTION....
    


  • Na ja, dann muss ich mich wohl mit der jetzigen Geschwindigkeit abfinden. Trotzdem danke.

    ALTERNATIVE:Gibt es eine Funktion(in SDL), die die Geschwindigkeit des Cursors festlegt bzw. mit der man diese ändern kann?

    Gruß Crabbe



  • Wenns so langsam ist, dann hast bestimmt was falsch in Deinem code, sollte wirklich nicht sein.

    Mausgeschwindigkeit: Werte die MOUSEMOTION-Events selber aus, dann kannst auch die Geschwindigkeit selber beeinflussen.


Anmelden zum Antworten