Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Tastenanschlag Zeit messen
- Ersteller Fraagi3
- Erstellt am
Ich glaube das wird nur selbst programmiert im Rahmen von Treiberentwicklung zB bei Linux (ähnlich auch bei Windows) oder Input-Lag Tests zB bei GamersNexus auf Youtube: Automated System Latency Test Methodology
(Hintergrund auch: "Key Release Event" - dokumentiert linux kbd ) .
Bei Input-Lag Tests wird zB mit modifizierter Hardware mit LED + High-Speed Kameras gearbeitet.
Beim "Release" wird die Taste wieder nicht beleuchtet und die Zeit bis zum "OS Event" der in der Anwendung ankommt gemessen.
Im Bios oder Tastatureinstellungen kann im OS die Wiederholrate verändert werden - "keyboard repeat rate, keyboard delay rate".
(Hintergrund auch: "Key Release Event" - dokumentiert linux kbd ) .
Bei Input-Lag Tests wird zB mit modifizierter Hardware mit LED + High-Speed Kameras gearbeitet.
Beim "Release" wird die Taste wieder nicht beleuchtet und die Zeit bis zum "OS Event" der in der Anwendung ankommt gemessen.
Im Bios oder Tastatureinstellungen kann im OS die Wiederholrate verändert werden - "keyboard repeat rate, keyboard delay rate".
Yuuri
Fleet Admiral
- Registriert
- Okt. 2010
- Beiträge
- 13.928
Lässt sich auch als Webseite erstellen:
Die Frage ist nur, wie präzise es ist, da es ja wegen Spectre ein wenig eingedämmt wurde. Sonst müsste man auf ne andere Umsetzung setzen.
Im Firefox kann man das mittels
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
textarea {
width: 100%;
min-height: 10rem;
font-family: Fira Code, monospace;
}
#log {
min-height: 40rem;
}
</style>
</head>
<body>
<h1>Eingabe</h1>
<textarea id="input" tabindex="0"></textarea>
<h1>Log</h1>
<textarea readonly id="log"></textarea>
<script>
let buffer = [];
let input = document.querySelector("#input");
let log = document.querySelector("#log");
const getInfo = function( e, type )
{
return {
when: window.performance.now(),
key: e.key,
keyCode: e.keyCode
};
}
input.addEventListener("keydown",function( e )
{
let down = getInfo( e, "down" );
buffer[down.keyCode] = down;
});
input.addEventListener("keyup",function(e)
{
let up = getInfo( e, "up" );
let down = buffer[event.keyCode];
delete buffer[event.keyCode];
diff = up.when - down.when;
log.innerHTML = "'" + down.key + "'" + " down to " + "'" + up.key + "'" + " up diff: " + diff + "ms \n" + log.innerHTML;
});
</script>
</body>
</html>
Code:
't' down to 't' up diff: 101ms
's' down to 's' up diff: 130ms
'e' down to 'e' up diff: 158ms
'T' down to 't' up diff: 120ms
'Shift' down to 'Shift' up diff: 107ms
' ' down to ' ' up diff: 95ms
'n' down to 'n' up diff: 95ms
'i' down to 'i' up diff: 109ms
'e' down to 'e' up diff: 108ms
' ' down to ' ' up diff: 134ms
't' down to 't' up diff: 110ms
's' down to 's' up diff: 127ms
'i' down to 'i' up diff: 102ms
' ' down to ' ' up diff: 123ms
's' down to 's' up diff: 169ms
'a' down to 'a' up diff: 155ms
'D' down to 'd' up diff: 131ms
'Shift' down to 'Shift' up diff: 236ms
privacy.reduceTimerPrecision wechseln. Der Log ist mit dem Wert auf true erstellt.Naja - die Taste kann ja durch "Druck" auch länger unten bleiben.
Vielleicht die Videos und etwas Hardwarehintergrund lesen und entscheiden was genau und warum genau gemessen werden soll.
Auf Hardwareebene (innerhalb des Keyboards) gibt es zB je nach Bauart "Entprellung" , Polling Rate und pot. PS2 und. USB Unterschiede. (edit: quelle)
Hier steht zB auch über "keyboard latency"
Vielleicht die Videos und etwas Hardwarehintergrund lesen und entscheiden was genau und warum genau gemessen werden soll.
Auf Hardwareebene (innerhalb des Keyboards) gibt es zB je nach Bauart "Entprellung" , Polling Rate und pot. PS2 und. USB Unterschiede. (edit: quelle)
Hier steht zB auch über "keyboard latency"
It’s not a coincidence that the quickest keyboard measured also has the shortest key travel distance by a large margin
Yuuri
Fleet Admiral
- Registriert
- Okt. 2010
- Beiträge
- 13.928
Ja den Kontakt selbst kannst du natürlich nicht abgreifen, aber auf OS-Ebene, wann eine Taste gedrückt und wann losgelassen wird, was natürlich die ganze Kette impliziert. Wenn man wirklich explizit die Taste selbst prüfen will, brauch man natürlich ein entsprechendes Bastel-Setup mit LED und High-Speed-Kamera.
Yuuri
Fleet Admiral
- Registriert
- Okt. 2010
- Beiträge
- 13.928
Nimm mal lieber das:
Beim Vorherigen wurde das Down-Event beim Press immer überschrieben (Firefox triggert mir bei Press implizit auch Down). Das Halten geht hier nun richtig.
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
textarea {
width: 100%;
min-height: 10rem;
font-family: Fira Code, monospace;
}
#log {
min-height: 40rem;
}
</style>
</head>
<body>
<h1>Eingabe</h1>
<textarea id="input" tabindex="0"></textarea>
<h1>Log</h1>
<textarea readonly id="log"></textarea>
<script>
let buffer = [];
let input = document.querySelector("#input");
let log = document.querySelector("#log");
const getInfo = function( e )
{
return {
when: window.performance.now(),
key: e.key,
keyCode: e.keyCode
};
}
input.addEventListener("keydown",function( e )
{
let down = getInfo( e );
if( !buffer[down.keyCode] )
{
buffer[down.keyCode] = down;
}
});
input.addEventListener("keyup",function(e)
{
let up = getInfo( e );
let down = buffer[event.keyCode];
delete buffer[event.keyCode];
diff = up.when - down.when;
log.innerHTML = "'" + down.key + "'" + " down to " + "'" + up.key + "'" + " up diff: " + diff + "ms \n" + log.innerHTML;
});
</script>
</body>
</html>
Code:
'd' down to 'd' up diff: 1626ms
't' down to 't' up diff: 101ms
's' down to 's' up diff: 112ms
'e' down to 'e' up diff: 160ms
'T' down to 't' up diff: 109ms
'Shift' down to 'Shift' up diff: 92ms
' ' down to ' ' up diff: 104ms
'n' down to 'n' up diff: 101ms
'i' down to 'i' up diff: 102ms
'e' down to 'e' up diff: 108ms
' ' down to ' ' up diff: 118ms
't' down to 't' up diff: 105ms
's' down to 's' up diff: 126ms
'i' down to 'i' up diff: 98ms
' ' down to ' ' up diff: 112ms
's' down to 's' up diff: 136ms
'a' down to 'a' up diff: 140ms
'D' down to 'd' up diff: 106ms
'Shift' down to 'Shift' up diff: 146ms
Ähnliche Themen
- Antworten
- 4
- Aufrufe
- 1.303
- Antworten
- 4
- Aufrufe
- 1.014
- Antworten
- 5
- Aufrufe
- 2.943
T
- Antworten
- 2
- Aufrufe
- 1.962
T
Leserartikel
Baal auf der Suche nach den Energiefressern im PC
- Antworten
- 99
- Aufrufe
- 23.076