DDR Newbie sucht Technikrat

Tipps, Techniken und Diskussion um das Gameplay von Dance Dance Revolution und Dancing Stage

Moderator: Moderatoren

Benutzeravatar
cebix
Stealth Insider 2004
Beiträge: 1398
Registriert: Di 9. Mär 2004, 00:00
Wohnort: Erlangen
Kontaktdaten:

Beitrag von cebix »

USB-Geräte wie Tastaturen, Mäuse, Joysticks (und damit auch die PS-USB-Adapter, die sich als Joystick ausgeben) werden vom Rechner in regelmäßigen Abständen abgefragt, im Allgemeinen alle 10ms. Sofern am gleichen Bus keine Geräte mit Echtzeitanforderungen (z.B. USB-Audiokarte) hängen, sollten auch keine längeren Verzögerungen auftreten.

Zumindest der Linux-LPT-Treiber (gamecon) fragt die Pads allerdings auch nur alle 10ms ab. Also ein direkter Vorteil scheint mir da nicht zu bestehen.

Die Kommunikation mit dem Pad selbst dauert nochmal ca. 4.5ms, wenn ich richtig gerechnet habe.
踊るアホに見るアホ、同じアホなら踊らにゃ損々。
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Geil, wie hast du DAS herausgefunden?@4.5 Ms

Hey Shuku, komm mal bei mir vorbei wenn du willst. Ich hab jetzt eine USB Controlbox an meinem Metalpad, was Spielen mit Schuhen ermöglicht UND ich merke nicht das Geringste eines Lags.

D.h. ohne bei Stepmania einen Offset einzustellen, bekomme ich bei Stepmania problemlos ein Marvelous(Timewindow 13,5ms) und trete wirkich genau auf den Beat. Ich habe auch die Möglichkeit jederzeit mit der Arcade zu vergleichen und merke langsam kaum noch einen Unterschied.

Mit USB Gamepads hab ich schon Erfahrungen gemacht und du ja auch beim Ric und vorher bei mir. Die sind 1000mal besser als USB Adapter, aber im Vergleich zur Controlbox laggen sie noch gewaltig.

Mit LPT Adaptern hab ich noch keine Erfahrungen gemacht, leider :?
Gibt es nicht Leute in der Nähe von Köln, die mit LPT Adapter spielen??


mfg
Scorpion
Benutzeravatar
Shuku
Resident
Beiträge: 398
Registriert: Sa 13. Mär 2004, 00:00
Wohnort: Köln

Beitrag von Shuku »

@ Chris : Das ist ja alles schön und gut, nur ich habe eben nur Softmatten, und somit wäre das sehr schwer da ne Controlbox anzuschließen. Außerdem ist das teuer, und wenn ich dann auch noch anfangen zu löten muß, schmeißt mein Vater das alles hochkant raus,

mfg,
Shukusatsu / Dirk
<|404notfound> when you play DDR, you're dancing with SATAN
<|404notfound> unless, you know, you're doing two player
<|404notfound> because then Satan doesn't have room to play

http://bash.org/
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Hm, teuer haste wohl recht, das wärn 10€ pro Matte.

Löten is kein Thema, bring die Matten einfach zu mir :D
Und warum schmeißt dein Vater dann alles raus?? 8O

Meine Softmatte steht noch bei nem Kumpel. Vielleicht geh ich da mal hin und teste das LPT Zeugs. Ein Stecker müsste hier auch noch irgendwo liegen.
Benutzeravatar
Shuku
Resident
Beiträge: 398
Registriert: Sa 13. Mär 2004, 00:00
Wohnort: Köln

Beitrag von Shuku »

Am besten rufe ich dich heute nachmittag mal an, gib mir am besten nochmal deine Tel. Nummer per PN.

@ rausschmeißen : Mein Vater ist schon angepisst, weil ich alles versuche um zu Hause zu steppen. Der ist immer noch sauer, weil ich meine NEUE PS2 modden will. Was ich aber nicht machen darf, weil sie ZU NEU ist. Ich soll erstmal 1/2 Jahr warten (kotz...)

Mit dem Geld, ginge sogar in Ordnung. Nur über wen soll ich dann wieder die ganze Bestellung abwickeln, ich ruf dich einfach mal an, egal,

mfg,
Shukusatsu / Dirk
<|404notfound> when you play DDR, you're dancing with SATAN
<|404notfound> unless, you know, you're doing two player
<|404notfound> because then Satan doesn't have room to play

http://bash.org/
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Hab mal ein paar Fragen@Cebix

1. Wie gesagt, wie hast du das errechnen können mit den 4,5ms?
2. Was bedeutet, dass die Geräte alle 10ms abgefragt werden?
Heisst das, dass ein Lag zwischen 4,5-14,5ms entstehen kann, je nachdem zu welchem Augenblick ich auf den Pfeil trete?


EDIT:
Ich hab eben was über die 4 unterschiedlichen Transferarten gelesen.
Weisst du, ob die Transferart von USB zu USB Hub anders ist als von USB zu USB Gerät?
Die USB Controlbox der TX2000 wird zum Teil irgendwie als Standard USB Hub installiert und zieht 400mA. Könnte das ne Erklärung sein, warum ich nichts von einem Lag merke?
Benutzeravatar
Grimmi Meloni
Admin
Beiträge: 4430
Registriert: So 8. Jun 2003, 23:00
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Grimmi Meloni »

Die Bandbreite hat erstmal nichts mit dem Polling (Abfragefrequenz) zu tun. Sie bestimmt lediglich wie <b>viele</b> aber nicht wie <b>oft</b> Daten vom USB Gerät abgeholt werden.
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Das versteh ich nicht, worauf war das die Antwort?@Grimmi

Ich meinte, ob sich die Transferart vielleicht ändern könnte.

Das steht im Internet über die Transferarten:
1. Control-Transfer: Zur Steuerung der Hardware werden Control-Requests verwendet. Sie arbeiten mit hoher Priorität und mit automatischer Fehlerüberwachung. Die Übertragungsrate ist hoch, da bis zu 64 Bytes in einem Request übertragen werden können.
2. Interrupt-Transfer: Von Geräten verwendet, die periodisch kleine Mengen an Daten liefern, wie z.B. Mäuse und Tastaturen. Dies geschieht dadurch, dass das Gerät periodisch, etwa alle 10 ms, nach neuen Daten fragt. Im Allgemeinen werden bis zu 8 Bytes übertragen.
3. Bulk-Transfer: Für größere Datenmengen, die eine Fehlerüberwachung benötigen, die aber nicht zeitkritisch sind. Beispiele sind Drucker und Scanner.
4. Isochronous-Transfer: Große Datenmengen mit einer definierten Datenrate, wie z.B. für Soundkarten. Es wird eine bestimmte Datenrate garantiert. Fehlerkorrektur findet nicht statt, da einzelne Übertragungsfehler weniger schlimm sind als Lücken in der Übertragung. Für Anwendungen im Bereich Steuerungs- und Regelungstechnik bietet sich besonders der Control- Transfer an, bei dem hohe Datensicherheit mit hoher Übertragungsgeschwindigkeit gekoppelt werden.


Ich dachte vielleicht wird der Hub anders behandelt, beim Control Transfer steht z.B. höhere Priorität, also vielleicht läuft die Abfrage andauernd. Bei einer anderen Seite hab ich auch gelesen, dass High-Speed (usb 2?) Geräte mit bis zu 125ns(dieses n mit dem strich ;)) abgefragt werden können.
Benutzeravatar
Grimmi Meloni
Admin
Beiträge: 4430
Registriert: So 8. Jun 2003, 23:00
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Grimmi Meloni »

Sorry, hab Transferrate statt Transferart gelesen. Never mind.
Benutzeravatar
Shuku
Resident
Beiträge: 398
Registriert: Sa 13. Mär 2004, 00:00
Wohnort: Köln

Beitrag von Shuku »

Hab' mir schon so etwas in der Richtung gedacht. Dann macht der Post sogar Sinn xD

mfg,
Shukusatsu / Dirk
<|404notfound> when you play DDR, you're dancing with SATAN
<|404notfound> unless, you know, you're doing two player
<|404notfound> because then Satan doesn't have room to play

http://bash.org/
Benutzeravatar
cebix
Stealth Insider 2004
Beiträge: 1398
Registriert: Di 9. Mär 2004, 00:00
Wohnort: Erlangen
Kontaktdaten:

Beitrag von cebix »

Scorpion hat geschrieben:1. Wie gesagt, wie hast du das errechnen können mit den 4,5ms?
Aus dem gamecon.c-Quelltext. Allerdings hab ich mich doch verrechnet. Es werden 5 Byte übertragen (Digital-Controller), ein Byte hat 8 Bits, ein Bit dauert 50µs (2*GC_PSX_DELAY), also zusammen 2ms (plus nochmal 50µs für das Select).
2. Was bedeutet, dass die Geräte alle 10ms abgefragt werden?
Heisst das, dass ein Lag zwischen 4,5-14,5ms entstehen kann, je nachdem zu welchem Augenblick ich auf den Pfeil trete?
Ja (also 2-12ms bei einem Pad).
Weisst du, ob die Transferart von USB zu USB Hub anders ist als von USB zu USB Gerät?
Wie ein Hub funktioniert weiß ich leider nicht (puffert der nochmal oder schaltet der nur durch?).

PSX-USB-Adapter sind übrigens alle Low-Speed (1.5Mbit/s Datenrate).
踊るアホに見るアホ、同じアホなら踊らにゃ損々。
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Danke für die Antwort!

Hier noch ein paar Fragen ^^:

1. Was ist der gamecon.c-Quelltext?
2. Da du ja anscheinend sehr viel Ahnung hast, kennst du auch die Abfrage von einem Gameport?
3. Dauert es nicht unter Umständen noch ziemlich lange, bis ein USB Eingabegerät den gegebenen Befehl umgesetzt hat, oder ist das auch so niedrig wie 2ms?
4. Die Abfragezeit für Linux hast du ja anscheinend aus dem Treiber, kann man diese dann nicht ändern?
Benutzeravatar
cebix
Stealth Insider 2004
Beiträge: 1398
Registriert: Di 9. Mär 2004, 00:00
Wohnort: Erlangen
Kontaktdaten:

Beitrag von cebix »

Scorpion hat geschrieben:1. Was ist der gamecon.c-Quelltext?
Der Quelltext des Linux-gamecon-Treibers.
2. Da du ja anscheinend sehr viel Ahnung hast, kennst du auch die Abfrage von einem Gameport?
Das steht hier. Die Achsen auszulesen dauert auch so 1-2ms, weil sich hier Kondensatoren aufladen müssen (und man misst die Zeit, die sie dazu brauchen). Die Knöpfe gehen instantan.
3. Dauert es nicht unter Umständen noch ziemlich lange, bis ein USB Eingabegerät den gegebenen Befehl umgesetzt hat
Sollte eigentlich nicht. Es würde mich überraschen, wenn das länger dauert als ein paar Mikrosekunden.
4. Die Abfragezeit für Linux hast du ja anscheinend aus dem Treiber, kann man diese dann nicht ändern?
Ja, mit dem Modul-Parameter "psx_delay". Beliebig kleine Werte macht aber sicher nicht jedes Pad mit. Ich weiß auch gar nicht, was die "offizielle" Zykluszeit ist (also die von Sony benutzte). Das PSX-Controller-Protokoll ist hier beschrieben, aber Angaben zum Timing stehen da auch nicht.
踊るアホに見るアホ、同じアホなら踊らにゃ損々。
Benutzeravatar
Grimmi Meloni
Admin
Beiträge: 4430
Registriert: So 8. Jun 2003, 23:00
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Grimmi Meloni »

Vermutlich auch noch hinzu, das der USB Controller selbst ja auch wieder an einem Bus (PCI) hängt. Da wird also auch erst nen IRQ fällig, bis das der Controller seine Daten los wird. Aber vermutlich sollte das nicht sonderlich ins Gewicht fallen, sonst wären wohl Delays beim Steppen unser geringstes Problem. :roll:
Scorpion
Resident
Beiträge: 403
Registriert: Do 24. Jun 2004, 23:00
Wohnort: Köln

Beitrag von Scorpion »

Hm, schwieriges Thema mit Timing :D

Fragen...


1. Ist das Timing der Playse2 denn präziser??
2. Was ist mit PS/2 Tastatur in Sachen Reaktion?
3. Mir ist aufgefallen, dass ich einen TFT habe, 16ms Reaktionszeit. Müsste dieser das Spielgefühl nicht total verändern oder haben CRT Monitore auch eine bestimmte REaktionszeit, die in SM eingerechnet wurde?
Antworten

Zurück zu „DDR / DS Gameplay“