ruyven_macaran
Trockeneisprofi (m/w)
AW: Roccat Ryos MK Pro: Mechanische Tastatur mit ARM-CPUs frühestens Ende August
Da fehlen aber n paar Schritte:
Taste->Tastaturcontroller->USB (mindestens 125µs im Schnitt)->USB-Controller->Chipsatz mit spezieller USB-Interrupt Transfer Unterstützung ->CPU->Treiber->CPU->Programm
Der LPC schon, aber auf den greifst du erst zu, nachdem ein dedizierter I/O-Controller mit eigenem Interrupt und vollständiger Logik aus den Eingangsignalen verwertbare Befehle gemacht hat. Der LPC dient nur der Übertratung. Bei USB hast du keine dedizierte Logik vorgeschaltet, weil die weitreichenden Möglichkeiten von USB nicht von einem kleinen Controller alleine verwaltet werden können. Statt dessen übernimmen Treiber und Firmware diese Aufgabe in Software -> du hast zunächst ein vollkommen beliebiges Datenpaket, musst diese von der CPU zuordnen, analysieren und auswerten lassen, ggf. noch zurücksenden, wenn der Eingabe-Interrupt tatsächlich von einem Controller gesetzt werden soll. Da nützt dann auch die etwas schnellere Übertragung als solche nichts, zumal sie bei USB ja auch noch Host-initiiert ist, während das PS/2 Gerät losfeuert, wann immer es Lust dazu hat.
Das sicherlich ("hoffentlich"?
). PS/2 hat auf alle Fälle deutlich niedrigere Latenzen, sonst wäre es schon vor Jahrzehnten abgesägt worden (stattdessen ist es noch heute Referenz), bei USB ist es die Einmischung der CPU, die wenn dann limitiert. Und wenn die CPU schon bei der Auswertung von USB-Paketen limitiert, dann sind auch die fps in Bereichen, bei denen man über Latenzen nicht mehr nachzudenken braucht. (aber kann. Während man auf den nächsten Frame wartet
)
Das gilt aber eben auch für den Anfang der ganzen Kette in der Tastatur, der hier werbewirksam "beschleunigt" werden soll...
Jedenfalls sieht es so aus:
Taste->Tastaturcontroller->PS/2 (mindestens 329,35µs im Schnitt)->LPC Controller->LPC(mindestens ~0,33µs im Schnitt, in der Praxis eher mehrere µs)->Chipsatz->CPU->Programm
Taste->Tastaturcontroller->USB (mindestens 125µs im Schnitt)->Chipsatz mit spezieller USB-Interrupt Transfer Unterstützung ->CPU->Programm
Da fehlen aber n paar Schritte:
Taste->Tastaturcontroller->USB (mindestens 125µs im Schnitt)->USB-Controller->Chipsatz mit spezieller USB-Interrupt Transfer Unterstützung ->CPU->Treiber->CPU->Programm
Beachten muss man das auch der LPC ein universeller Bus ist der auch für andere Zwecke genutzt werden kann.
Der LPC schon, aber auf den greifst du erst zu, nachdem ein dedizierter I/O-Controller mit eigenem Interrupt und vollständiger Logik aus den Eingangsignalen verwertbare Befehle gemacht hat. Der LPC dient nur der Übertratung. Bei USB hast du keine dedizierte Logik vorgeschaltet, weil die weitreichenden Möglichkeiten von USB nicht von einem kleinen Controller alleine verwaltet werden können. Statt dessen übernimmen Treiber und Firmware diese Aufgabe in Software -> du hast zunächst ein vollkommen beliebiges Datenpaket, musst diese von der CPU zuordnen, analysieren und auswerten lassen, ggf. noch zurücksenden, wenn der Eingabe-Interrupt tatsächlich von einem Controller gesetzt werden soll. Da nützt dann auch die etwas schnellere Übertragung als solche nichts, zumal sie bei USB ja auch noch Host-initiiert ist, während das PS/2 Gerät losfeuert, wann immer es Lust dazu hat.
Außerdem bewegt sich der Gesamtlag in den allermeisten Fällen sehr wahrscheinlich sowieso mehr als eine Größenordnung unter der Dauer eines Frames bei der höchsten gängigen Bildwiederholrate, er sollte also in jedem Fall vernachlässigbar sein.
Das sicherlich ("hoffentlich"?
). PS/2 hat auf alle Fälle deutlich niedrigere Latenzen, sonst wäre es schon vor Jahrzehnten abgesägt worden (stattdessen ist es noch heute Referenz), bei USB ist es die Einmischung der CPU, die wenn dann limitiert. Und wenn die CPU schon bei der Auswertung von USB-Paketen limitiert, dann sind auch die fps in Bereichen, bei denen man über Latenzen nicht mehr nachzudenken braucht. (aber kann. Während man auf den nächsten Frame wartet
)Das gilt aber eben auch für den Anfang der ganzen Kette in der Tastatur, der hier werbewirksam "beschleunigt" werden soll...


Wieviel RAM hat'n die und wie sieht's mit Benchmarks aus?
