Salve a tutti, sono nuovo del forum ma molto attivo su siti dedicati alle tastiere meccaniche internazionali (deskthority e geekhack).
Ho letto la bellissima guida sulle tastiere meccaniche e vorrei aggiungere qualcosa sul "polling time", tanto per non farsi "fregare" dai produttori (tanto per cambiare :P). La guida è stata chiusa quindi aggiungo un nuovo argomento.
Il polling time non è tanto "la frequenza con cui la tastiera manda un segnale al pc" ma la frequenza con la quale il controller interno manda un segnale alla matrice di tasti. Ovvero ogni quanti millisecondi il controller della tastiera controlla se è stato premuto un tasto. Ma non solo...
Dire che 1000hz equivale a un tempo di risposta di 1ms non è solo sciocco, ma anche vagamente "menzoniero".
1000hz è come dire "mille volte in un secondo", quindi il controller manda un segnale alla matrice di tasti 1000 volte al secondo. Possiamo dire che la tastiera avrà una precisione di 1ms. Nello stesso modo uno scan di 125hz vuol dire 125 volte al secondo, ovvero 8ms (1000 / 125 = 8).
Quando i produttori dicono 1000hz - 1ms, è come se dicessero "1 minuto, ovvero 60 secondi"! Grazie, molto gentili. Il problema è che la velocità di polling è tutt'altra cosa rispetto al reale tempo di risposta e ci sono altri fattori che entrano in ballo.
Nello specifico purtroppo viviamo in un mondo analogico :) e i tasti meccanici soffrono di un fenomeno chiamato "bouncing". Se guardate le specifiche tecniche dei tasti Cherry MX noterete la voce "Bounce Time".
Senza entrare troppo nello specifico, quando chiudete e aprite un circuito con un tasto, il segnale non è mai netto. Questa è un'immagine molto chiara di quello che avviene:

Se vedete, prima del gradino più grande c'è una sorta di "disturbo". Quel disturbo in un cherry MX dura circa 5 millisecondi. Ovvero il controller della tastiera deve controllare ogni tasto per 5ms prima di sapere se è stato veramente premuto.
Il problema è che i controller delle tastiere sono molto semplici e non hanno un timer dedicato al calcolo del bounce. Quindi usano il ciclo principale del controllo della matrice.
Mettiamo di avere una tastiera da 125hz. Per fare il "de-bounce" il firmware decide di controllare il tasto 3 volte prima di confermare la pressione del tasto. Ovvero 125hz x 3 = 8 x 3 = 24ms
Il tempo di risposta della tastiera sarà quindi circa 24ms, ben lontano dagli 8ms pubblicizzati. (ma la pressione del tasto potrebbe avvenire in concomitanza dello scan, riducendo così il tempo di risposta a 17ms, ma non andiamo a complicare le cose).
Come abbiamo detto il tempo minimo di bounce degli MX è 5ms. Quindi nella migliore delle ipotesi una tastiera da 1000hz avrà un tempo di risposta di 6ms. A questo andranno aggiunte le verie latenze interne, della USB e sistema operativo.
Se avete una tastiera da 1000hz il vostro vantaggio su di un giocatore che ha una 125hz è di almeno 18ms (e non 7ms come sembrerebbe dai dati forniti dai produttori).
Sarebbe bello che i produttori di tastiere dessero il tempo di risposta reale, ma è come chiedere a un produttore di LCD di dare il valore reale di contrasto/luminosità :P
Spero di aver fatto cosa gradita con questo post.
Ho letto la bellissima guida sulle tastiere meccaniche e vorrei aggiungere qualcosa sul "polling time", tanto per non farsi "fregare" dai produttori (tanto per cambiare :P). La guida è stata chiusa quindi aggiungo un nuovo argomento.
Il polling time non è tanto "la frequenza con cui la tastiera manda un segnale al pc" ma la frequenza con la quale il controller interno manda un segnale alla matrice di tasti. Ovvero ogni quanti millisecondi il controller della tastiera controlla se è stato premuto un tasto. Ma non solo...
Dire che 1000hz equivale a un tempo di risposta di 1ms non è solo sciocco, ma anche vagamente "menzoniero".
1000hz è come dire "mille volte in un secondo", quindi il controller manda un segnale alla matrice di tasti 1000 volte al secondo. Possiamo dire che la tastiera avrà una precisione di 1ms. Nello stesso modo uno scan di 125hz vuol dire 125 volte al secondo, ovvero 8ms (1000 / 125 = 8).
Quando i produttori dicono 1000hz - 1ms, è come se dicessero "1 minuto, ovvero 60 secondi"! Grazie, molto gentili. Il problema è che la velocità di polling è tutt'altra cosa rispetto al reale tempo di risposta e ci sono altri fattori che entrano in ballo.
Nello specifico purtroppo viviamo in un mondo analogico :) e i tasti meccanici soffrono di un fenomeno chiamato "bouncing". Se guardate le specifiche tecniche dei tasti Cherry MX noterete la voce "Bounce Time".
Senza entrare troppo nello specifico, quando chiudete e aprite un circuito con un tasto, il segnale non è mai netto. Questa è un'immagine molto chiara di quello che avviene:

Se vedete, prima del gradino più grande c'è una sorta di "disturbo". Quel disturbo in un cherry MX dura circa 5 millisecondi. Ovvero il controller della tastiera deve controllare ogni tasto per 5ms prima di sapere se è stato veramente premuto.
Il problema è che i controller delle tastiere sono molto semplici e non hanno un timer dedicato al calcolo del bounce. Quindi usano il ciclo principale del controllo della matrice.
Mettiamo di avere una tastiera da 125hz. Per fare il "de-bounce" il firmware decide di controllare il tasto 3 volte prima di confermare la pressione del tasto. Ovvero 125hz x 3 = 8 x 3 = 24ms
Il tempo di risposta della tastiera sarà quindi circa 24ms, ben lontano dagli 8ms pubblicizzati. (ma la pressione del tasto potrebbe avvenire in concomitanza dello scan, riducendo così il tempo di risposta a 17ms, ma non andiamo a complicare le cose).
Come abbiamo detto il tempo minimo di bounce degli MX è 5ms. Quindi nella migliore delle ipotesi una tastiera da 1000hz avrà un tempo di risposta di 6ms. A questo andranno aggiunte le verie latenze interne, della USB e sistema operativo.
Se avete una tastiera da 1000hz il vostro vantaggio su di un giocatore che ha una 125hz è di almeno 18ms (e non 7ms come sembrerebbe dai dati forniti dai produttori).
Sarebbe bello che i produttori di tastiere dessero il tempo di risposta reale, ma è come chiedere a un produttore di LCD di dare il valore reale di contrasto/luminosità :P
Spero di aver fatto cosa gradita con questo post.

