GUIDA La verità sul polling time

Pubblicità

Matt3o

Utente Attivo
Messaggi
142
Reazioni
77
Punteggio
41
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:

kEccvG3.webp

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.
 
Spero di aver fatto cosa gradita con questo post.
è cosa graditissima e ti ringrazio delle informazioni (ho imparato molto :sisi:) anzi vorrei chiederti se ti andrebbe di partecipare ad un miglioramento della guida, ne parlavamo nel circolo del sorcio di migliorarle
 
Diamine, io pensavo di avere molte conoscenze in quanto a tastiere!

Ho l'impressione che imparerò molto dalla tua permanenza qui.
 
Visto che ne sai di tastiere meccaniche mi sapresti dire come mai la mia meka non funziona per entrare nel BIOS?
 
Visto che ne sai di tastiere meccaniche mi sapresti dire come mai la mia meka non funziona per entrare nel BIOS?
a questo rispose l'ex moderatore di sezione, ti quoto il messaggio che ha lasciato

A questo ti rispondo io facendo una precisazione: nessuna tastiera in N-key rollover è HID Compliant. La mancanza di supporto non riguarda il bus ma il BIOS stesso di ciascuna scheda madre, se vogliamo dirla così.
Ciao.
 
è cosa graditissima e ti ringrazio delle informazioni (ho imparato molto :sisi:) anzi vorrei chiederti se ti andrebbe di partecipare ad un miglioramento della guida, ne parlavamo nel circolo del sorcio di migliorarle

con molto piacere. se serve una mano, sai dove trovarmi :)

a questo rispose l'ex moderatore di sezione, ti quoto il messaggio che ha lasciato

l'NKRO è un altro di quegli argomenti spinosi. molte tastiere ad oggi sul mercano sviluppano l'n-key roller in modo al quanto "creativo". Andrebbe fatta una lista delle tastiere NKRO e di come realmente ottengono l'n-key... (da quello che ho visto poche lo supportano in modo corretto)

Quindi non ho possibilità di risolvere per incompatibilità com la scheda madre?

Non conosco personalmente la meka, alcune tastiere nkro hanno una modalità per settarle in 6KRO (sono quasi certo che le CM ce l'abbiano e mi sembra anche le noppoo). Controlla se puoi disabilitare l'nkro (a volte viene chiamato "game mode"). Se hai una porta PS/2 sul PC e un adattare USB>PS/2 puoi provare anche con quello.
 
Io ho avuto la noppoo e anche con lei ho avuto problemi per entrare nel BIOS..adesso con la meka idem..l'ultima sponda penso sia l adattatore ps2
 
forse c'è un altro trucco che puoi provare (dipende dall'implementazione dell'nkro). Si tratta di mettere 2 adattatori USB-PS/2 a catena. USB>PS2 >PS2>USB

In pratica dalla tastiera a questo

31vfdsIbijL._SX385_.webp

e dall'adattatore a questo

21eFvr8DuiL.webp

e infine al PC.

Il costo è di 3 euro in tutto. Vale la pena provare (ma non è detto che funzioni).

La "daisy chain" in pratica inficia l'nkro.
 
Scusate se mi intrometto: sono nuovo del forum e non mi intendo troppo di tastiere ma di elettronica un po' si.

Se dovessi progettare una tastiera con un polling rate di 1kHz farei come segue. Flip-flop sui tasti che rileva cambiamenti di stato. In pratica si tratta di un circuito la cui uscita si accende e resta accesa appena arriva un segnale sull'ingresso. In questo modo appena premo il tasto comincia il bouncing l'uscita resta accesa e al ciclo di polling successivo viene rilevato il tasto premuto in un tempo <1ms.

Dopo che il tasto è stato premuto si disabilita il flip flop per un tempo sufficientemente lungo da far finire il bouncing (diciamo 15ms).

Passato questo tempo di disattivazione lo riattivo in modo che cerchi il tasto rilasciato, anche in questo caso il rilascio viene rilevato al primo polling da quando comincia il bouncing.

Una tastiera che funziona in questo modo ha un tempo di risposta di 1ms sia in pressione che in rilascio. L'unico limite è che non premetterebbe di fare "rapid fire" più velocemente di 70Hz (1/15ms) ma non credo che nessun umano potrebbe farlo! Non so se le tastiere vengono realizzate con questo principio ma era per segnalare che si può fare debouncing senza limitare il tempo di risposta.
 
Molto interessante questo topic,l'avevo letto tempo fa e finalmente l'ho ritrovato,volevo chiederti un'ultima cosa,come hai detto il minimo tempo è di 6 millisecondi avendo a disposizione una tastiera con tasti cherry mx,quindi giusto per capire una tastiera da 10 euro che sia una trust oppure altro che riatardo ha?
 
Pubblicità
Pubblicità
Indietro
Top