Transatlantycki ping szybszy niż wysłanie piksela na ekran?
John Carmack ](https://twitter.com/ID_AA_Carmack) tweeted ,
Mogę wysłać pakiet IP do Europy szybciej niż mogę wysłać piksel na ekran. Jak bardzo jest to popieprzone?
I gdyby to nie był John Carmack, umieściłbym to w kategorii “internety są głupie”.
Ale to jest John Carmack.
Jak to może być prawda?
Aby uniknąć dyskusji na temat tego, co dokładnie ma na myśli tweet, oto co chciałbym uzyskać:
*Jak długo trwa, w najlepszym przypadku, wysłanie pojedynczego pakietu IP z serwera w USA do gdzieś w Europie, mierząc od czasu, gdy oprogramowanie wyzwala pakiet, do momentu, gdy jest on odbierany przez oprogramowanie powyżej poziomu sterownika? *
*Jak długo trwa, w najlepszym przypadku, wyświetlenie piksela na ekranie, mierzone od momentu, w którym oprogramowanie powyżej poziomu sterownika zmienia wartość tego piksela? *
Nawet zakładając, że połączenie transatlantyckie jest najlepszym kablem światłowodowym, jaki można kupić za pieniądze, i że John siedzi tuż obok swojego dostawcy internetu, dane wciąż muszą zostać zakodowane w pakiecie IP, dostać się z pamięci głównej do karty sieciowej, stamtąd przez kabel w ścianie do innego budynku, tam prawdopodobnie przeskoczyć przez kilka serwerów (ale załóżmy, że potrzebuje tylko jednego przekaźnika), zostać sfotonizowane za oceanem, zamienione z powrotem na impuls elektryczny przez fotosensor i wreszcie zinterpretowane przez inną kartę sieciową. Na tym poprzestańmy.
Jeśli chodzi o piksel, jest to proste słowo maszynowe, które jest przesyłane przez slot PCI express, zapisywane w buforze, który następnie jest spłukiwany na ekran. Nawet biorąc pod uwagę fakt, że “pojedyncze piksele” prawdopodobnie powodują, że cały bufor ekranu jest przesyłany do wyświetlacza, nie widzę, jak to może być wolniejsze: to nie jest tak, że bity są przesyłane “jeden po drugim” - raczej są to kolejne impulsy elektryczne, które są przesyłane bez opóźnień między nimi (prawda?).