Autor Beitrag
multimolti
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 17.03.09 23:29 
Hallo!

Ich versuche derzeit, von meinem XNA Game aus mehrere Mäuse anzusteuern und benutze dazu die RawInput-Klassen von jstookey.com/arcade/rawmouse/
Prinzipiell klappt es, ich habe jetzt 5 verschiedene Mauszeiger für 5 angeschlossenene Mäuse im Spiel, die ich auch alle unabhängig voneinander bentuzen kann. Aber wenn man mehr als eine Maus auf einmal bewegt, fängt das Spiel an zu laggen. Das gleiche passiert auch, wenn ich meine Razer-Maus (Polling rate 1000Hz) zu schnell bewege.
Ich vermute, dass das daran liegt, dass die UpdateRawMouse-Funktion zu lange braucht, um alles zu verarbeiten, so dass das Game laggt. Wenn ich einen Thread erstelle, der das alles im Hintergrund macht, kann ich die Razer gut bewegen und auch 2 der anderen Mäuse gleichzeitig, aber bei 3 Mäusen laggt es wieder.

Hat jemand eine Idee, wie ich die Performance von der ganzen Sache so verbesser, dass es auch wirklich klappt? Vielen Dank!


Moderiert von user profile iconKha: Topic aus WinForms verschoben am Mi 18.03.2009 um 12:56
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 18.03.09 14:06 
:welcome:

Hast du dir das schon angeschaut? www.microsoft.com/do...d&DisplayLang=en
Kommt direkt von MS und ist sogar schon eine native .NET-Library. Möglicherweise(/wahrscheinlich?) wird dort aber genauso RawInput benutzt, dann ändert sich an der Performance vielleicht nichts.

_________________
>λ=
multimolti Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 18.03.09 18:48 
Ja, ich habe MultiPoint ausprobiert, aber das funktioniert im Zusammenhang mit XNA nicht. Irgendwie scheint XNA eine benötigte Funktion zu überschreiben oder sowas, auf jeden Fall bekomme ich immer die gleiche Fehlermeldung, und die offiziellen Ersteller von MultiPoint wussten auch nichts.

Habe das mit RawInput aber mittlerweile zum Laufen gebracht:
forums.xna.com/forums/p/27282/151127.aspx
Ein blödes "Console.WriteLine" war das Problem.