GUIDA La verità sul polling time

Matt3o

Utente Attivo
142
77
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.png

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.
 

Thai

Lord of the Apes
Utente Èlite
13,847
4,588
CPU
Intel I7 4820K / AMD Phenom II X6 1090T
Dissipatore
CM Hyper 412S / SpinQ VT
Scheda Madre
Asus Sabertooth x79 / Asus Crosshair IV Formula
HDD
Raid 0 2x Crucial m500 240gb / 1Tb WD Caviar Black
RAM
Avexir Mpower Red 4x4Gb 1600mhz cl9 / Geil Enhance Corsa 2x4GB 1600mhz cl9
GPU
XFX R9 290 Black OC edition / Palit Gt 730
Audio
ASUS Xonar Essence STX + AKG K 240 MKII + ONKYO HTX-22HDX
Monitor
SAMSUNG SyncMaster T27A950 / SyncMaster 943nw
PSU
Superflower Leadex Platinum 1000W / LC Power Arkangel 850W
Case
Dimastech Hard / NZXT Phantom
Periferiche
Tesoro Durandal esport + R.A.T. 9 (RIP 6/9/16) / Logitech G502
OS
Windows 10 64bit / Windows 7 64bit
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
 

Trinity78

Utente Attivo
1,448
176
Diamine, io pensavo di avere molte conoscenze in quanto a tastiere!

Ho l'impressione che imparerò molto dalla tua permanenza qui.
 

paxton

Utente Attivo
172
10
CPU
i76700k
Scheda Madre
z170 k6 asrok
HDD
970 evo plus 1tb m2
RAM
16 gb ddr4 2133
GPU
gtx 1080 ti waterforce
Audio
sennheiser
Monitor
pg279q 144hz
PSU
evga 650+ gold
Case
corsair 460x
Visto che ne sai di tastiere meccaniche mi sapresti dire come mai la mia meka non funziona per entrare nel BIOS?
 

Thai

Lord of the Apes
Utente Èlite
13,847
4,588
CPU
Intel I7 4820K / AMD Phenom II X6 1090T
Dissipatore
CM Hyper 412S / SpinQ VT
Scheda Madre
Asus Sabertooth x79 / Asus Crosshair IV Formula
HDD
Raid 0 2x Crucial m500 240gb / 1Tb WD Caviar Black
RAM
Avexir Mpower Red 4x4Gb 1600mhz cl9 / Geil Enhance Corsa 2x4GB 1600mhz cl9
GPU
XFX R9 290 Black OC edition / Palit Gt 730
Audio
ASUS Xonar Essence STX + AKG K 240 MKII + ONKYO HTX-22HDX
Monitor
SAMSUNG SyncMaster T27A950 / SyncMaster 943nw
PSU
Superflower Leadex Platinum 1000W / LC Power Arkangel 850W
Case
Dimastech Hard / NZXT Phantom
Periferiche
Tesoro Durandal esport + R.A.T. 9 (RIP 6/9/16) / Logitech G502
OS
Windows 10 64bit / Windows 7 64bit
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.
 

paxton

Utente Attivo
172
10
CPU
i76700k
Scheda Madre
z170 k6 asrok
HDD
970 evo plus 1tb m2
RAM
16 gb ddr4 2133
GPU
gtx 1080 ti waterforce
Audio
sennheiser
Monitor
pg279q 144hz
PSU
evga 650+ gold
Case
corsair 460x
Quindi non ho possibilità di risolvere per incompatibilità com la scheda madre?
 

Matt3o

Utente Attivo
142
77
è 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.
 

paxton

Utente Attivo
172
10
CPU
i76700k
Scheda Madre
z170 k6 asrok
HDD
970 evo plus 1tb m2
RAM
16 gb ddr4 2133
GPU
gtx 1080 ti waterforce
Audio
sennheiser
Monitor
pg279q 144hz
PSU
evga 650+ gold
Case
corsair 460x
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
 

Matt3o

Utente Attivo
142
77
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_.jpg

e dall'adattatore a questo

21eFvr8DuiL.jpg

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.
 

Lyonnard

Utente Attivo
278
47
CPU
Intel i5-6500
Scheda Madre
AsRock Z170M pro4s
HDD
SSD 840 EVO 240GB + 3TB HDD WDRed
RAM
8 GB DDR4 2133MHz CL14
GPU
R9 390 Asus Strix
Audio
integrata
Monitor
LG 29UM67 21:9 1080x2560
PSU
XFX XTR 650W
Case
Aerocool DS cube
OS
Windows 10 / Ubuntu 14.04
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.
 

Giuseppe2323

Nuovo Utente
116
3
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?
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili