Гейминг (gaming)
Коротко: В сетевом контексте: онлайн-игры, требующие непрерывного, критичного к задержкам обмена данными между клиентом и сервером (или между игроками).
Подробнее: Игровой трафик предъявляет к сети особые требования — низкая задержка обычно важнее высокой пропускной способности, так как ввод нужно обрабатывать в реальном времени. Многие игры используют UDP вместо TCP, потому что потерянный, слегка устаревший пакет вредит меньше, чем ожидание повторной передачи, навязываемое TCP.
Подробности
Основной конфликт с онлайн-играми: TCP гарантирует, что каждый пакет придёт в правильном порядке и полностью — если один потерян, вся передача ждёт его повторной отправки и подтверждения. Для обновления позиции в игре, которое и так отправляется заново каждые несколько миллисекунд, эта гарантия обычно бесполезна: потерянное 100-миллисекундное обновление позиции не стоит повторной отправки, когда давно пришло более новое. Поэтому большинство многопользовательских игр реального времени полагаются на UDP, который просто игнорирует потерю пакетов, и при необходимости строят поверх него собственный лёгкий слой надёжности, применяемый только к критичным событиям (например, «игрок сделал выстрел»).
Помимо низкой задержки играет роль и «джиттер» — колебание задержки от пакета к пакету. Постоянно высокая задержка в 80 мс для многих игр пригоднее, чем в среднем более низкая, но сильно колеблющаяся задержка между 20 и 150 мс, потому что игры часто слегка «буферизуют» поступление обновлений, чтобы сгладить такие колебания.
См. также: UDP, Задержка (latency), Приложение реального времени