Un ping transatlantico più veloce dell'invio di un pixel sullo schermo?
John Carmack ](https://twitter.com/ID_AA_Carmack) tweeted ,
Posso mandare un pacchetto IP in Europa più velocemente di quanto possa mandare un pixel sullo schermo. Ma quanto è assurdo?
E se questo non fosse John Carmack, lo archivierei sotto “l'interweb che fa lo stupido”.
Ma questo è John Carmack.
*Come può essere vero? *
Per evitare discussioni su ciò che si intende esattamente nel tweet, questo è ciò che vorrei ottenere come risposta:
*Quanto tempo ci vuole, nel migliore dei casi, per ottenere un singolo pacchetto IP inviato da un server negli Stati Uniti a qualche parte in Europa, misurando dal momento in cui un software innesca il pacchetto, al punto in cui viene ricevuto da un software a livello di driver? *
*Quanto tempo impiega, nel migliore dei casi, un pixel per essere visualizzato sullo schermo, misurato dal punto in cui un software sopra il livello del driver cambia il valore di quel pixel? *
Anche supponendo che la connessione transatlantica sia il miglior cavo a fibre ottiche che il denaro possa comprare, e che John sia seduto proprio accanto al suo ISP, i dati devono ancora essere codificati in un pacchetto IP, passare dalla memoria principale alla sua scheda di rete, da lì attraverso un cavo nel muro in un altro edificio, probabilmente salterà attraverso alcuni server lì (ma supponiamo che abbia bisogno di un solo relè), viene fotonizzato attraverso l'oceano, riconvertito in un impulso elettrico da un fotosensore, e infine interpretato da un'altra scheda di rete. Fermiamoci qui.
Per quanto riguarda il pixel, questa è una semplice parola macchina che viene inviata attraverso lo slot PCI express, scritta in un buffer, che viene poi scaricata sullo schermo. Anche tenendo conto del fatto che i “singoli pixel” probabilmente comportano la trasmissione dell'intero buffer dello schermo al display, non vedo come questo possa essere più lento: non è che i bit siano trasferiti “uno per uno” - piuttosto, sono impulsi elettrici consecutivi che vengono trasferiti senza latenza tra loro (giusto?).