Devo collegare il mouse a una porta USB 3.0?


110

Sto cercando una risposta autorevole, supportata da dati. Un amico mi ha chiesto l'altro giorno se avrebbe beneficiato di collegare il mouse a una porta USB 3.0 anziché a una porta 2.0 disponibile. Risposi con aria ribelle che non avrebbe fatto alcuna differenza. Certamente non sono l'unico a pensarlo. Vedi le risposte su:

Intuitivamente, non credo che la velocità di trasmissione dei dati dovrebbe essere un problema. I mouse funzionavano bene su una porta seriale e quelli si trasferivano ad un massimo di 112,5 Kbps. USB 1.0 funziona a 1,5 Mbps (lento) o 12 Mbps (veloce). USB 2.0 può gestire 480 Mbps e 3.0 può raggiungere 5 Gbps.

Ma per quanto riguarda la velocità di risposta? Esistono studi pubblicati sui tempi di risposta tra le porte USB 2.0 e 3.0?

La mia domanda è: avevo ragione? Avrebbe importanza se avessi un mouse davvero elegante? Il mio amico può tranquillamente incolpare la sua perdita in League of Legends sulla sua lenta porta USB?


2
i mouse funzionavano bene su una porta seriale e la "S" in USB è "seriale".
tedder42,

Bella domanda, non ho idea di come sia il ritardo di input tra USB 1, 2 e 3. E una USB 3, che utilizza un dispositivo USB 2, avrebbe un ritardo di input peggiore o migliore?
Jonathon,

Sembra un caso di perdente dolorante :)
Vinayak l'

Risposte:


129
  1. Un mouse è un dispositivo lento (il vecchio standard PS / 2 era basato su RS232C), quindi USB1 è più che adeguato.
  2. Le porte USB3 hanno connettori extra per i trasferimenti ad alta velocità, ma hanno anche connettori USB2 standard per la compatibilità con le versioni precedenti.
  3. A meno che il mouse non abbia questi connettori (e non riesco a immaginare che nessun mouse abbia) si collegherà tramite USB2 in un connettore USB3.

Quindi hai perfettamente ragione: collegare un mouse a un connettore USB3 non offre alcun vantaggio. Se un mouse risponde lentamente, è perché qualcos'altro sta controllando la CPU a scapito del driver del mouse.


3
È un buon punto che il mouse non userà nemmeno USB 3 anche se collegato a tale porta. Vorrei solo aggiungere a ciò dicendo che è probabile che non usi nemmeno USB 2; è probabile che il controller USB in un mouse non supporti nulla oltre a USB 1.1.
Dolda 2000,

@ Dolda2000 - Sono pienamente d'accordo, e il punto è stato sottolineato in alcuni dei commenti precedenti. L'ho esaminato per mantenere la mia risposta il più semplice possibile e la domanda riguardava USB2 vs USB3.
AFH,

@ Dolda2000: un dispositivo che utilizza USB 1.1 costringerà la porta a utilizzare USB 1.1, che non è una buona cosa (ha diverse stranezze oltre ad essere sloooow); la maggior parte dei topi ho potuto mettere le mani sul rapporto come dispositivi USB 2.0.
Piskvor,

Inoltre, si dovrebbe fare alcune cose abbastanza sorprendenti con un mouse USB per richiedere in qualche modo che raggiunga velocità USB 3.0.
Jake:

1
Per non parlare del fatto che con i mouse wireless, la velocità dei dati con USB 3 può causare interferenze con le antenne a 2,4 GHz che si trovano comunemente nei mouse wireless (lo ho scoperto di prima mano con il mio logitech).
Nate Gardner,

38

Solo perché la velocità dei dati di un mouse è molto bassa e può essere gestita da USB 1.x non significa che non può trarre vantaggio dal collegamento a un controller più veloce.

Ci sono una serie di fattori in gioco qui:

  • I controller USB 3.0 supportano la retrocompatibilità eseguendo l'enumerazione in modo compatibile con i dispositivi USB 1.xe 2.0 ed esponendo un controller EHCI logico come parte della mappa dei registri.

  • Il mouse si identificherà come un dispositivo USB ad alta velocità indipendentemente dalla porta e dal controller a cui è collegato. Ciò farà apparire il mouse logicamente connesso al controller EHCI (a volte anche OHCI / UHCI).

  • Avere un controller EHCI logico non significa che il dispositivo sia collegato a un circuito USB 2.0. La connessione tra il sistema e il controller host USB 3.0 sarà più veloce, probabilmente PCIe multi-corsia. È anche molto meno probabile che attraversi un bridge PCIe-PCI, che provoca buffering e leggera latenza aggiuntiva.

  • Oltre alla connessione lato host, i transistor che pilotano i pin USB avranno anche una velocità di commutazione più elevata e invece di componenti passivi per il filtro del rumore, il bus utilizzerà gli interruttori digitali nella rete di filtri, per consentirne la rimozione e non rallentarli giù dispositivi USB SuperSpeed. (Questo è stato probabilmente un grosso problema per il salto tra USB 1.xe 2.0)
    I componenti del filtro passivo presenti nel mouse dovrebbero dominare. Tuttavia, i tempi di salita e discesa potrebbero essere più veloci di alcuni nanosecondi.

  • Anche i registri del controller EHCI sono implementati sullo stesso die della logica UHCI USB 3.0, quindi la frequenza di clock e le prestazioni digitali saranno più elevate.

  • Di questi effetti, le differenze PCIe hanno il maggiore impatto sulle prestazioni, soprattutto rispetto a un controller host USB 2.0 collegato tramite un bridge PCIe-PCI.

In breve, un controller host USB 3.0 con un dispositivo USB 2.0 ad alta velocità o ad alta velocità non è lo stesso circuito dello stesso dispositivo collegato a un controller host USB 2.0 e i tempi non saranno identici .

Tuttavia, qualsiasi miglioramento della latenza sarà al massimo di un paio di microsecondi. Suppongo sia possibile che con una certa probabilità questo causi l'inoltro in tempo dell'input del mouse al server per essere elaborato un frame prima; la probabilità è estremamente bassa (ben al di sotto dell'1%) e chiunque affermi che influisce sulle loro prestazioni di gioco è confuso.

In particolare, gli effetti della congestione della rete sono maggiori di molti ordini di grandezza. Chiunque cerchi di darsi ogni vantaggio tecnico nella competizione dovrebbe concentrare i propri sforzi lì. Le marcature QoS probabilmente determinano l'esito dei giochi ai massimi livelli di gioco. La scelta del fornitore di servizi lo fa quasi sicuramente.


2
Questo è un pio desiderio, un mouse usa una frequenza di polling fissa. La velocità che un singolo bit impiega per ottenere da a a b non modifica tale velocità.
JamesRyan,

6
@JamesRyan: Non c'è un pio desiderio qui. La velocità e la latenza sono diverse. Il ritardo fino al successivo intervallo di tempo di trasmissione è un ritardo di buffering USB, viene aggiunto al ritardo di trasmissione stesso insieme ai ritardi di buffering per il resto del percorso verso la CPU, la scheda NIC e infine il server. E la mia risposta afferma già chiaramente che i miglioramenti del ritardo derivanti dall'uso di un controller USB 3.0 sono molto piccoli
Ben Voigt,

3
@otus: mentre è vero che i collegamenti di comunicazione su chip possono essere eseguiti un po 'più velocemente rispetto ai collegamenti a livello di scheda come PCIe e PCI, in pratica il controller USB 2 all'interno del chipset è ancora collegato tramite un vecchio PCI ordinario (non PCIe) , alle normali velocità PCI, con un ponte PCI-PCIe. Nonostante il controller USB 3 si trovi a una distanza fisica maggiore, è collegato tramite PCIe, di solito senza bridge e ha una latenza inferiore.
Ben Voigt,

1
@James: falsa analogia. È più vicino a una corsa di cavalli. Il cancello di partenza non si apre molto spesso, ma quando lo fa, il cavallo più veloce su una pista più corta raggiunge sicuramente il traguardo prima. Ora, immagina che i cavalli inizino ad arrivare subito dopo la gara precedente. La maggior parte del loro tempo di attesa sarà dietro il gate di partenza ... ma il più veloce raggiunge comunque il traguardo prima, anche se non in larga parte del tempo di attesa totale.
Ben Voigt,

1
@JamesRyan: Questo non è vero. Il trasferimento isocrono USB avviene su un orologio impostato. Tutto ciò che segue l'interruzione (trasferimento DMA dal buffer del controller USB, elaborazione nella CPU e trasferimento in rete) non è sincronizzato con il polling clock USB. HID non utilizza trasferimenti isocroni, utilizza trasferimenti di interrupt polling che hanno origine sull'host, quindi in realtà i ritardi in entrambe le direzioni vengono dopo la sincronizzazione con la frequenza di polling.
Ben Voigt,

20

Dobbiamo dare un'occhiata al tasso di polling del mouse e da questo possiamo avere una migliore idea di quanti dati vengono trasmessi. Se un mouse ha una frequenza di polling di 100 Hz, sta inviando i dati al computer 100 volte al secondo.

Un mouse standard invierà un pacchetto di 3 byte contenente informazioni sulle informazioni sulla posizione X / Y e informazioni sui pulsanti. Considerando che vengono trasferiti 3 byte per ogni ciclo della frequenza di polling, è possibile trasferire 300 bps.

Per impostazione predefinita, la frequenza di polling USB è 125hz, quindi secondo la nostra logica, i dati trasmessi sono 375 byte al secondo.

Sulla base di questo, non penso che USB 3 sarà più vantaggioso di USB 2 o addirittura 1.


4
E che USB 3 potrebbe essere meglio utilizzato su un dispositivo che necessita della velocità.
cliff2310

3
Va notato che è possibile modificare la frequenza di polling USB. I topi di fascia alta funzionano nell'intervallo 500-1000hz (tassi di risposta di 2 o 1 millisecondo, contro 8 millisecondi a 125hz).
philipthegreat,

18
@philipthegreat una frequenza di polling di 1kHz è ancora quattro volte più veloce del periodo di aggiornamento anche dei migliori schermi che conosco, sedici volte più veloce degli FPS della maggior parte dei giochi su un buon PC e 100 volte la frequenza dei fotogrammi a cui l'occhio umano è in grado di rilevare discontinuità in movimento. E stai ancora trasferendo solo allo 0,5% la larghezza di banda USB 1.0 a bassa velocità.
John Dvorak,

1
@JanDvorak +100 a quel commento.
Jason C,

4

Tecnicamente ci sono alcuni casi in cui farebbe la differenza. In generale, anche quando esiste questa differenza, non si noterà nemmeno per un giocatore professionista.

I controller USB 3.0 e USB 2.0 su schede madri moderne sono implementati in modo diverso, principalmente a causa della velocità di trasmissione dati richiesta da USB 3.0. In alcuni chipset potresti trovare l'USB 2.0 come essenzialmente un dispositivo PCI su un hub di supercomunicazioni che gestisce anche tutti gli altri dispositivi lenti, come dischi rigidi, audio, Ethernet, parallele e seriali, ecc. Questo esisteva nel chip southbridge, che è stato quindi collegato al Northbridge attraverso uno strato multimediale simile a un bus PCIexpress. Il northbridge ha gestito le cose ad alta velocità, come memoria, grafica, PCIexpress ecc.

Ciò significava che una transazione USB riguardava diverse altre transazioni: PCI, quindi l'interfaccia multimediale, quindi l'interfaccia con la CPU, prima che venisse gestita.

L'USB 3.0 è stato introdotto contemporaneamente al passaggio da Northbridge / Southbridge a PCH (Platform Controller Hub). La maggior parte dei compiti di Northbridge sono stati assorbiti nella CPU stessa - memoria, PCIexpress, ecc., Mentre i restanti compiti di Northbridge e Southbridge sono andati al PCH. Il PCH è essenzialmente in esecuzione su uno slot PCI Express.

I percorsi, tuttavia, sono ancora molto diversi. Anche se USB 3.0 e USB 2.0 sono integrati nel PCH, USB 2.0 è ancora implementato come se fosse un dispositivo controller PCI lento. Intel non ha motivo di ridisegnare il silicio di una parte collaudata, quindi è integrato nel PCH nello stesso modo in cui è stato integrato nel southbridge, con tutti i colli di bottiglia associati e la latenza aggiuntiva che aveva prima.

Tuttavia, l'USB 3.0 è molto più vicino alla CPU. Sebbene ciò abbia principalmente lo scopo di aumentare la velocità effettiva, influisce anche sulla latenza: ci sono meno transazioni per ottenere una transazione USB 3.0 in memoria o sulla CPU e gli interrupt possono essere attivati ​​più rapidamente.

Tuttavia, la differenza tra latenza USB 2.0 e latenza USB 3.0 verrebbe misurata in nanosecondi. Certamente non si nota oggi anche dai migliori giocatori di contrazione. Esiste, ma è praticamente inutile.


2
Probabilmente non è nemmeno misurabile da temporizzazioni oggettive poiché le differenze di latenza sono inferiori di diversi ordini di grandezza rispetto ad esempio a intervalli di polling del dispositivo, fasce orarie dello scheduler del kernel, tempi di elaborazione della coda degli eventi dell'interfaccia utente, ecc. .
Jason C,

ho notato che sono migliorato in un gioco dopo aver usato la mia porta USB 3.0. forse un sospiro placebo: P
Suici Doga,

2

Il mouse è un dispositivo così lento in termini di trasferimento dei dati che il limite di velocità USB non è un fattore limitante.

Anche la latenza della comunicazione non dovrebbe essere un fattore, un dispositivo USB correttamente costruito (qualsiasi generazione) dovrebbe rispondere molto più velocemente della velocità del riflesso umano, quindi non dovresti riscontrare alcun ritardo a causa della tecnologia della porta.

Naturalmente ci sono molti altri fattori se si verifica un ritardo del mouse: il sistema potrebbe essere occupato, il driver potrebbe non funzionare come previsto, il software potrebbe essere bloccato in attesa di altri eventi (il più delle volte, si tratta di un problema relativo alla rete), mouse stesso può essere rotto, e infine l'hardware della porta potrebbe essere difettoso, quindi provare un altro mouse / porta è un buon inizio.


2

Anche se non credo che sulla maggior parte dei modelli di mouse convenzionali otterresti alcun vantaggio, probabilmente stai cercando di determinare che, anche se ci fosse qualche differenza, dovrebbe essere evidente dall'utente?

In tal caso, è abbastanza semplice testare il caso in un gioco o un'applicazione esigente dalle prestazioni del mouse, collegandolo a entrambe le porte. Ho provato questo da solo e non ho riscontrato alcuna differenza che potrei notare, il che era sufficiente per me (i risultati dei test superano la teoria per scenari di uso personale, poiché in alcuni casi anche una differenza psicologica potrebbe aiutarti a ottenere prestazioni migliori, nel qual caso sarebbe comunque essere meglio per te).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.