Джиттер
Джиттер (от англ. jitter — дрожание, мандраж) — это невидимый враг твоего интернета, твоего голоса в Дискорде и твоего хрупкого душевного равновесия. Это та самая дрожащая тварь, что заставляет пакеты данных, этих маленьких цифровых курьеров, плясать паралитический танец на пути от сервера к твоему многострадальному компьютеру. Если пинг — это время, за которое курьер добирается из пункта А в пункт Б и обратно, то джиттер — это его тяжелое похмелье, из-за которого он то бежит сломя голову, то останавливается поблевать в кусты, то вообще забывает, куда и зачем шел. В итоге все курьеры прибывают не стройной колонной, как на параде, а беспорядочной, шатающейся толпой с разным опозданием. Технически, это вариация задержки прибытия пакетов.
Анонимус, ты ведь думал, что главное в онлайн-баталиях — низкий пинг? Как же ты был наивен. Ты можешь иметь свои честные 20 мс до сервера любимой онлайн-дрочильни, но если в эту идиллию вмешивается Его Величество Джиттер, то вся твоя жизнь превращается в адъ и Израиль. Потому что один пакет с информацией о местоположении врага прилетел за 15 мс, следующий — за 50 мс, а третий, самый важный, с данными о том, что этот враг только что сделал тебе хэдшот — вообще заблудился по дороге и пришел через 120 мс, когда твой остывающий труп уже стал частью ландшафта.
Где оно живёт и чем питается?[править]
О, ареал обитания этой заразы обширен и не поддается точному картографированию. Джиттер — это энтропия в чистом виде, хаос, просачивающийся в упорядоченный мир цифровых сигналов. Он рождается в перегруженных коммутаторах твоего нищебродского провайдера, который навешал на один дохлый канал половину твоего микрорайона. Он плодится в твоем собственном быдлороутере за 900 рублей, который начинает заикаться и плакать, как только твоя мама включает YouTube на своем планшете. Он пирует на старых медных проводах, помнящих еще Брежнева, и на криворуко обжатых витых парах, которые прокладывал усатый сисадмин дядя Вася, попутно проклиная всё живое. Даже Wi-Fi-соединения по своей природе менее надёжны и могут способствовать увеличению джиттера.
Принципиальная разница, которую 95% школия и прочих киберкотлет отказываются понимать: высокий, но стабильный пинг (например, ровно 150 мс) — это почти всегда лучше, чем низкий, но скачущий пинг (например, от 10 до 80 мс). В первом случае система может предсказать задержку и скомпенсировать ее. Во втором — это езда по минному полю с завязанными глазами. Результат немного предсказуем.
Любая неоднородность в сети — это пир для джиттера. Изменение маршрута пакетов, секундная перегрузка на магистрали где-нибудь во Франкфурте, электромагнитная наводка от соседского перфоратора — всё это его любимые деликатесы. Он как цифровая проказа, разъедающая предсказуемость, которая является единственной добродетелью в мире единиц и нулей. В итоге твои пакеты, словно испуганное стадо, мечутся по сети, приходя к тебе в совершенно случайном порядке и с разным опозданием. И твой компьютер вынужден из этого хаоса как-то собирать цельную картину — будь то голос твоего тиммейта, стрим с Твича или положение вражеского танка.
Искажения голоса. Роботы-убийцы в твоём Тимспике[править]
Самое первое и самое болезненное, куда бьет джиттер — это VoIP, то есть любая голосовая связь через интернет. Твой голос нарезается на тысячи микроскопических пакетиков, отправляется в путешествие и собирается обратно на стороне собеседника. И когда эти пакетики начинают свой пьяный танец, происходит магия.
На принимающей стороне существует специальный костыль, именуемый буфером джиттера. Это, по сути, маленький цифровой загончик, куда сваливают все приходящие пакеты. Задача буфера — подержать их у себя некоторое время (обычно от 30 до 200 миллисекунд), пересортировать в правильном порядке и только потом выдать на-гора в виде плавной речи. Если буфер слишком маленький, он не успеет дождаться заблудившихся пакетов, и в речи появятся провалы, заикания и щелчки. Если буфер слишком большой, то появится заметная задержка — ты уже сказал фразу, а твой собеседник услышит ее через полсекунды, что превращает диалог в допрос у следователя.
Но когда джиттер входит в полную силу (считается, что проблемы начинаются при значениях выше 30 мс), никакой буфер не спасает. Пакеты теряются, приходят с чудовищным опозданием, и тогда ты слышишь Его. Тот самый знаменитый робовойс. Голос твоего товарища превращается в скрежет несмазанного терминатора, в предсмертный хрип модема, пытающегося подключиться к BBS из 90-х. Слова глотаются, звуки растягиваются, и фраза Пацаны, он за ящиком слева! превращается в П-п-п-аца... ыыыы... ящ... ле... БУЛЬК. Пока ты пытаешься расшифровать это послание от сломавшегося автоответчика, тебя уже давно отправили на респаун.
Дрожащие руки киберкотлеты[править]
Если в голосовом чате джиттер просто доставляет массу лулзов и неудобств, то в онлайн-играх он является персональным палачом, который с особым цинизмом пытает твою нервную систему. Именно он, а не мифический кривой неткод (хотя и он тоже), ответственен за 95% твоих смертей, когда ты с пеной у рта орешь в монитор, что я же в него всю обойму всадил! или как он меня убил, я же уже за стену зашел?!.
Современные игры пытаются бороться с задержкой с помощью хитрых алгоритмов предсказания (prediction) и компенсации лагов (lag compensation). Клиент игры не ждет тупо ответа от сервера, а пытается угадать, что произойдет в следующие доли секунды, основываясь на предыдущих данных. И это отлично работает... при стабильном пинге. Система знает, что данные приходят с задержкой в 50 мс, и делает на это поправку.
Но тут врывается джиттер. Система ожидает пакет через 50 мс, а он приходит через 10. Или через 90. Все предсказания летят к чертям. Для тебя на экране враг бежит ровно, а на сервере его уже телепортировало на два метра в сторону. Ты стреляешь в модельку, которую нарисовал тебе твой клиент, но на сервере-то враг уже давно в другом месте! В итоге сервер справедливо заявляет: Анонимус, ты стрелял в пустоту, иди-ка отдохни. А в следующий момент враг, который на твоем экране еще даже не вышел из-за угла, убивает тебя одним выстрелом, потому что на его стороне и на сервере он уже давно вышел, прицелился и выстрелил, а пакеты с этой информацией до тебя просто добирались черепашьим шагом. Это и есть тот самый рассинхрон, причина миллионов разбитых клавиатур и мышей по всему миру.
Теплый ламповый джиттер[править]
Думаешь, джиттер — проблема только сетевых задротов? Щас. Спроси любого аудиофила, и он тебе прочтет трехчасовую лекцию о том, как цифровой джиттер убивает воздух, сцену и вовлеченность в его любимых записях джазового саксофона.
В мире цифрового аудио джиттером называют нестабильность тактового генератора — того самого метронома, который отсчитывает моменты, когда нужно преобразовывать цифру в аналоговый сигнал в ЦАПе. Если этот метроном хоть немного плавает, то вместо чистых и ровных синусоид на выходе получается нечто рябое и искаженное. Появляются посторонние гармоники, грязь в звуке, ВЧ становятся песочными, а бас — рыхлым. По крайней мере, так утверждают сами аудиофилы.
На этой почве произрастает целая индустрия по борьбе с ветряными мельницами. Тебе продадут специальный USB-кабель за 500 долларов с позолоченными контактами, который якобы уменьшает джиттер. Тебе предложат купить отдельную коробочку — реклокер — за пару тысяч вечнозеленых, которая берет грязный сигнал, пропускает его через себя и выдает очищенный. И, конечно же, тебе объяснят, что твой CD-проигрыватель за 300 баксов — это говно, потому что в нем транспорт создает чудовищный джиттер, а вот аппарат за 10000 долларов... ну ты понел.
На самом деле, влияние джиттера в современных ЦАПах на итоговый звук ничтожно и находится далеко за пределами человеческого восприятия, что делает его в основном маркетинговым инструментом для продажи дорогих устройств доверчивым энтузиастам. Но разве это когда-нибудь мешало продавать доверчивым буратинам теплый ламповый воздух и кабели из бескислородной меди? Nuff said.
Как бороться и надо ли?[править]
Борьба с джиттером напоминает попытку вычерпать океан ложкой. Это системная проблема, и универсального решения для нее нет. Однако, Анонимус, ты можешь попробовать несколько ритуальных действий, чтобы успокоить свою совесть.
Для начала, выкинь свой D-Link, купленный в 2008 году, и купи нормальный роутер, желательно с поддержкой QoS (Quality of Service), чтобы приоритизировать игровой или голосовой трафик. Перейди с вайфая, который засирается всеми соседскими микроволновками, на православный и надежный кабель Ethernet. Позвони провайдеру и, вежливо матерясь, потребуй проверить линию. Иногда это даже помогает. В особо запущенных случаях можно попробовать специальные программы, которые строят альтернативные маршруты для игрового трафика, но это уже сродни шаманству.
Для аудиофила рецепт один: страдать. Покупать новые, все более дорогие игрушки, сидеть на форумах, доказывая всем, что ты слышишь разницу, и презирать быдло, которое слушает mp3 с телефона. Это бесконечный путь самосовершенствования.