Трансатлантичний пінг швидше, ніж надсилання пікселя на екран?


809

Джон Кармак твітнув ,

Я можу надіслати IP-пакет в Європу швидше, ніж можу надіслати піксель на екран. Як це було?

І якби це не Джон Кармак, я б подав його під "Інтерв'ю нерозумно".

Але це Джон Кармак.

Як це може бути правдою?

Щоб уникнути дискусій про те, що саме мається на увазі в твіт, на це я б хотів отримати відповідь:

Скільки часу потрібно, в кращому випадку, щоб отримати єдиний пакет IP, що надсилається з сервера в США кудись у Європу, вимірюючи від часу, коли програмне забезпечення запускає пакет, до того, що його отримує програмне забезпечення вище рівень драйвера?

Скільки часу, в кращому випадку, потрібно, щоб піксель відображався на екрані, виміряний з моменту, коли програмне забезпечення вище рівня драйвера змінює значення пікселя?


Навіть якщо припустити, що трансатлантичне з'єднання - це найкращий волоконно-оптичний кабель, який можна придбати за гроші, і що Джон сидить прямо біля свого провайдера, дані все-таки повинні бути закодовані в IP-пакет, отримати з основної пам’яті його мережеву карту , звідти через кабель у стіні до іншої будівлі, ймовірно, перескочить через декілька серверів там (але припустимо, що для цього потрібне лише одне реле), фотонізується через океан, перетворюється назад в електричний імпульс фотосенсором, і нарешті інтерпретується іншою мережевою карткою. Зупинимось на цьому.

Що стосується пікселя, то це просте машинне слово, яке надсилається через експрес-слот PCI, записане в буфер, який потім передається на екран. Навіть враховуючи той факт, що "поодинокі пікселі", ймовірно, призводять до того, що весь буфер екрану передається на дисплей, я не бачу, як це може бути повільніше: це не так, як біти передаються "один за одним" - скоріше, вони - це послідовні електричні імпульси, які передаються без затримок між ними (правда?).


50
Або він божевільний, або це незвична ситуація. Через швидкість світла у волокні ви не можете отримати дані зі США до Європи менш ніж за 60 мілісекунд в один бік. Ваша відеокарта випускає цілий новий екран пікселів кожні 17 мілісекунд або близько того. Навіть при подвійному буферизації ви все одно можете трохи побити пакет.
Девід Шварц

84
@DavidSchwartz: Ти думаєш про GPU ізольовано. Так, GPU може зробити цілу велику роботу менш ніж за 60 мс. Але Джон скаржиться на весь ланцюжок, в якому бере участь монітор. Чи знаєте ви, скільки затримок задіяно, коли дані зображення передаються на монітор, і поки вони не відображаються на екрані? Фігура 17 мс є безглуздою і неактуальною. Так, GPU готує нове зображення кожні 17 мс, і так, на екрані відображається нове зображення кожні 17 мс. Але це нічого не говорить про те, як довго зображення було в дорозі до його відображення
затримка

24
Він ігровий програміст, і він сказав швидше, ніж я можу надіслати піксель на екран ... так, можливо, потрібно затримати затримку візуалізації 3D-графіки? Хоча це має бути досить низьким у більшості відеоігор; вони оптимізують продуктивність, а не якість. І звичайно, є дуже великий шанс, що він просто перебільшує (там я заявив очевидне, щасливе?).
Боб

19
Перейдіть до Best Buy на деякий час і перегляньте всі телевізори, де вони налаштовані на той самий власний канал. Навіть імовірно однакові набори матимуть помітне (можливо, чверть секунди) відставання відносно один одного. Але поза цим потрібно реалізувати весь цикл "малювання" всередині інтерфейсу користувача (що може включати повторне відображення декількох "шарів" зображення). І, звичайно, якщо потрібна 3-D-рендерінг або щось таке, що додає значну затримку.
Даніель Р Хікс

4
Існує багато місця для спекуляцій, про які йдеться, я не думаю, що ідеальної відповіді немає, якщо ви не знаєте, про що насправді говорив Дж. Кармак. Можливо, його твіт був просто дурним коментарем до якоїсь ситуації, з якою він стикався.
Баарн

Відповіді:


1321

Час відправки пакету віддаленому хосту - це половина часу, про який повідомляє ping, який вимірює час туди і назад.

Дисплей, який я вимірював, являв собою головний дисплей Sony HMZ-T1, підключений до ПК.

Для вимірювання затримки дисплея, у мене є невелика програма, яка сидить у циклі обертання, опитуючи ігровий контролер, роблячи чітку іншого кольору та міняючи буфери кожного разу, коли натискається кнопка. Я записую відеозапис, показуючи ігровий контролер, і екран із камерою на 240 кадрів в секунду, потім підраховую кількість кадрів між натиснутою кнопкою та екраном, що починає показувати зміни.

Контролер гри оновлюється на 250 Гц, але немає прямого способу вимірювання затримки на вхідному шляху (хотілося б, щоб я все-таки міг з'єднати речі до паралельного порту та використовувати введення / виведення інструкцій Sam). Як контрольний експеримент, я проводжу те саме тестування на старому ЕПТ-дисплеї з вертикальним відтягуванням 170 Гц. Aero і кілька моніторів можуть ввести додаткову затримку, але за оптимальних умов ви зазвичай побачите зміну кольору, починаючи в якийсь момент на екрані (vsync вимкнено) два кадри на 240 Гц після того, як кнопка опуститься. Здається, затримка через обробку USB HID проходить 8 мс або близько того , але я хотів би це зробити в майбутньому краще.

Не рідкість бачити, що настільні РК-монітори займають 10+ 240 Гц кадрів, щоб показати зміни на екрані. Sony HMZ в середньому склав близько 18 кадрів, або 70+ загальних мілісекунд.

Це було в мультимоніторному налаштуванні, тож пара кадрів є виною водія.

Деяка затримка властива технології. РК-панелі займають 4-20 мілісекунд, щоб фактично змінитися, залежно від технології. Однокристальний LCoS дисплеї повинні буфер один кадр відеозображення для перетворення з упакованих пікселів в послідовних колірних площин. Лазерні растрові дисплеї потребують деякої кількості буферизації, щоб перетворити з повернення растрового зображення в шаблони сканування назад і назад. Послідовний тривимірний 3D-дисплей, що має послідовну рамку або знизу, не може оновлювати середину кадру в половині часу.

OLED- дисплеї повинні бути одними з найкращих, як це демонструє eMagin Z800 , який порівняно з 60 Гц CRT затримкою, кращий, ніж будь-який інший тест, не тестуючий CRT, який я тестував.

Погані показники роботи Sony пов'язані з поганою інженерією програмного забезпечення. Деякі телевізійні функції, такі як інтерполяція руху, вимагають буферизації принаймні одного кадру, і вони можуть отримати вигоду від більше. Інші функції, такі як плаваючі меню, перетворення форматів, захист вмісту тощо можуть бути реалізовані потоково, але найпростішим виходом є просто буфер між кожною підсистемою, який може зібрати до півдесятка кадрів у деяких системах .

Це дуже прикро, але все це можна виправити, і я сподіваюся, що в майбутньому опираються на виробників дисплеїв більше про затримки.


215
Мені б хотілося не блокувати цю відповідь за надмірні коментарі поза темою. Ми всі в захваті від того, що Джон дав цю відповідь, але нам не потрібно 25 коментарів, які висловлюють подяку, невіру чи хвилювання. Дякую.
nhinkle

28
Ваш USB-тригер, ймовірно, працює як низькошвидкісний USB-пристрій (рамки шини при 125usec), що спричиняє мінімальну затримку 8 мс (проблема з обладнанням). Може, спробувати клавіатуру PS2 замість цього?
Борис

4
@Marcus Lindblom полював, ти маєш на увазі прочитане? Я думаю, що в цьому випадку те , як він потрапив до свого номера, так само важливо, як і число - скептицизм щодо твіту не збирається вирішувати, цитуючи інше число. Також контекст допомагає - його найбільш безпосередньо дратував цей конкретний монітор з його неоптимальним програмним забезпеченням.
Джеремі

13
Це здається, що ви говорите, що коли виробники ЖК заявляють, скажімо, час реакції 5 мс, то може бути час, коли потрібно змінити необроблену панель, але монітор додає ще трохи часу буферизації та обробки сигналу, перш ніж він насправді приводить в дію РК-дисплей. Чи це не означає, що виробники публікують помилкові / оманливі характеристики?
psusi


68

Деякі монітори можуть мати значне відставання на вході

Облік дивовижного підключення до Інтернету в порівнянні з шаленим монітором та комбінацією відеокарт

Джерела:

Консольна гра: Фактор відставання • Сторінка 2

Так, у 30 кадрів в секунду ми отримуємо базову продуктивність у вісім кадрів / 133 мс, але у другому кліпі, де гра знизилася до 24 кадрів в секунду, чітке затримка 12 кадрів / 200 мс між мною, що натягує курок, і Ніко починає анімацію стрільби з рушниці. Це 200 мс плюс додаткова затримка з вашого екрана. Ой.

Дисплей може додати ще 5-10 мс

Так, консоль може мати до 210 мс відставання

І, за коментарем Девіда, найкращий випадок повинен становити близько 70 хвилин для відправки пакету


1
-1 Я не думаю, що Джон Кармак використовує хитрий монітор або відеокарту. Будь ласка, посилайтесь на свою претензію з надійними джерелами.
Baarn

14
Вибачте, але я все ще не думаю, що це дійсно відповідає на питання. Цитата розповідає про "натискання на спусковий механізм", і це передбачає набагато більше роботи, як в обробці вводу, відображенні сцени тощо, ніж просто надсилання пікселя на екран. Крім того, швидкість реакції людини порівняно вразлива в порівнянні з сучасними апаратними показниками. Час між хлопцем, який думає, що він натягнув курок, і насправді його потягнув, цілком міг стати вузьким місцем.
Конрад Рудольф

2
Зв'язана стаття показує, що автор цього аналізу придбав спеціальний пристрій, який може показати вам точно, коли натиснута кнопка, тому я не думаю, що вони просто крилать цифри.
Мелікот

11
@KonradRudolph: Сприйняття - це дуже дивні речі. Нещодавно я прочитав статтю про експериментальний контролер, який зчитував імпульси безпосередньо зі спинного мозку. Люди відчували б, що комп'ютер діяв ще до того, як натискали, хоча реагувати на їх власну нервову команду.
Зан Лінкс

11
@Zan Lynx: Це відомий ефект. Google для "Затримка половини секунди Бенджаміна Лібета". Людська свідомість вимагає значного часу на обробку. Все, що думає, що відбувається зараз, насправді відбувалося в минулому. Всі ваші відчуття дають вам "інтегрований мультимедійний досвід" події з півсекунди тому. Крім того, події здаються моментом "штампованого часом". Пряме стимулювання мозку має бути відкладено відносно тактильної стимуляції, щоб суб'єкт повідомляв про відчуття як про одночасне!
Каз

35

Дуже просто продемонструвати відставання вхідного сигналу на моніторах, просто наклейте lcd поруч із crt і покажіть годинник або анімацію, що заповнює екран і записуйте його. Один може бути другим або більше позаду. Виробники рідкокристалічних дисків це щось більше, оскільки геймери тощо помітили це більше.

Напр. Youtube Video: Тест на вхідний лаг Vizio VL420M

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.