Джон Кармак написал в Твиттере,
Я могу отправить IP-пакет в Европу быстрее, чем отправлю пиксель на экран. Как дела?
И если бы это был не Джон Кармак, я бы подал его под заголовком «глупые переплетения».
Но это Джон Кармак.
Как это может быть правдой?
Чтобы избежать дискуссий о том, что именно подразумевается в твите, я бы хотел получить ответ на этот вопрос:
Сколько времени требуется, в лучшем случае, чтобы получить один IP-пакет, отправленный с сервера в США в Европу, начиная с момента, когда программное обеспечение запускает пакет, до того момента, когда оно было получено вышеуказанным программным обеспечением? уровень водителя?
Сколько времени занимает, в лучшем случае, чтобы пиксель отображался на экране, измеряемый с момента, когда программное обеспечение выше уровня драйвера изменяет значение этого пикселя?
Даже если предположить, что трансатлантическое соединение является лучшим оптоволоконным кабелем, который можно купить за деньги, и что Джон сидит рядом со своим интернет-провайдером, данные все равно должны быть закодированы в IP-пакет, передаваться из основной памяти через его сетевую карту. оттуда через кабель в стене в другое здание, вероятно, перепрыгнет через несколько серверов (но давайте предположим, что ему просто нужно одно реле), фотонизируется через океан, преобразуется обратно в электрический импульс фотодатчиком, и, наконец, интерпретируется другой сетевой картой. Давай остановимся там.
Что касается пикселя, это простое машинное слово, которое отправляется через слот PCI Express, записывается в буфер, который затем выводится на экран. Даже учитывая тот факт, что «отдельные пиксели», вероятно, приводят к тому, что весь экранный буфер передается на дисплей, я не вижу, как это может быть медленнее: биты передаются «один за другим», скорее, они являются последовательными электрическими импульсами, которые передаются без задержки между ними (правильно?).