Гейминг (gaming)
Коротко: У мережевому контексті: онлайн-ігри, що потребують безперервного, критичного до затримок обміну даними між клієнтом і сервером (або між гравцями).
Докладніше: Ігровий трафік висуває до мережі особливі вимоги — низька затримка зазвичай важливіша за високу пропускну здатність, бо введення потрібно обробляти в реальному часі. Багато ігор використовують UDP замість TCP, бо втрачений, трохи застарілий пакет шкодить менше, ніж очікування повторного передавання, нав’язуване TCP.
Подробиці
Основний конфлікт з онлайн-іграми: TCP гарантує, що кожен пакет прийде в правильному порядку і повністю — якщо один втрачено, усе передавання чекає його повторного надсилання та підтвердження. Для оновлення позиції в грі, яке й так надсилається знову кожні кілька мілісекунд, ця гарантія зазвичай марна: втрачене 100-мілісекундне оновлення позиції не варте повторного надсилання, коли давно прийшло новіше. Тому більшість багатокористувацьких ігор реального часу покладаються на UDP, який просто ігнорує втрату пакетів, і за потреби будують поверх нього власний легкий шар надійності, що застосовується лише до критичних подій (наприклад, «гравець зробив постріл»).
Окрім низької затримки, грає роль і «джитер» — коливання затримки від пакета до пакета. Постійно висока затримка в 80 мс для багатьох ігор придатніша, ніж у середньому нижча, але сильно коливна затримка між 20 і 150 мс, бо ігри часто трохи «буферизують» надходження оновлень, щоб згладити такі коливання.
Див. також: UDP, Затримка (latency), Застосунок реального часу