Как уменьшить задержку TCP для игр?

Я использую Ubuntu для игр. В конкурентных играх важна каждая миллисекунда.

Я знаю, что многие люди, использующие Windows, используют нечто, называемое Leatrix Latency Fix , которое в основном представляет собой скрипт, который изменяет TCPAckFrequency. Это уменьшает задержку онлайн-игр за счет увеличения частоты подтверждений TCP, отправляемых на игровой сервер.

В Mac OS X вы можете получить этот эффект, запустив sudo sysctl -w net.inet.tcp.delayed_ack=0.

Я слышал, что ядро ​​Linux имеет очень продвинутый стек IP и может использовать множество различных алгоритмов предотвращения перегрузки TCP. Я не знаю, имеет ли это какое-либо отношение к частоте подтверждения TCP. Я также слышал, что ядро ​​Linux автоматически настраивает параметры TCP / IP для оптимальной производительности.

Что я могу сделать, чтобы уменьшить задержку TCP / IP?

6
задан 24 September 2012 в 18:30

2 ответа

Что ж, вы должны убедиться, что все, что находится за пределами вашего компьютера, ведет себя хорошо.

Запустите traceroute для игрового сервера. Где растет латентность? Это нормально или это происходит в тех местах, где этого не должно быть?

Например, прыжок из Нью-Йорка в Лондон добавит задержки. Пятьдесят или около того миллисекунд до первого прыжка после того, как ваш маршрутизатор, вероятно, означает неисправное оборудование в вашей последней миле; перепроверьте со своими соседями.

Сколько задержек у вас есть на вашем маршрутизаторе? Переключение с Wi-Fi на проводное соединение не всегда возможно, но оно может просто сократить пять или около того миллисекунд.

Достаточно ли хорош ваш компьютер для игры? Иногда игра будет иметь неоптимальную производительность в Wine, и хорошо, если игра не может обрабатывать пакеты за время прохождения туда-обратно (ваша задержка на игровом сервере). согласно измерениям ping или traceroute удваивается), тогда узкое место на самом деле не является сетью.

Ваш пинг вообще имеет значение? Большинство игр в реальном времени требуют интерполяции для бесперебойной работы. Это означает, что вы на самом деле играете «в прошлом». Например, в исходных играх каждый игрок в прошлом проработал 0,1 секунды, что означает, что все игроки с задержкой в ​​двузначных числах фактически играют на ровном поле. Лично я играю в 160 пингов на серверах TF2 в США, и у меня нет особых проблем с этим. Подробнее здесь. Читайте здесь о сетевом стеке Unreal.

0
ответ дан 24 September 2012 в 18:30

Мой отец был большим поклонником TCP Doctor или какой-то подобной программы в Windows, потому что он поклялся, что его интернет стал намного быстрее. Лично я никогда не видел разницы. Но он спросил меня, как он может сделать это в Linux. Он был так разочарован, что не смог воспользоваться программой. Итак, я сделал свое исследование. Вы правы, Linux активно настраивает окно приема TCP и многие другие аспекты TCP автоматически. Если у вас нет реальных проблем, я бы оставил все как есть.

Однако, если вы чувствуете, что должны настроить его, это неплохая справка (но имейте в виду, что все эти файлы, о которых они говорят, автоматически управляются и корректируются ядром, если вы не изменяете их во время выполнения): [ 110] http://www.speedguide.net/articles/linux-tweaking-121

0
ответ дан 24 September 2012 в 18:30

Другие вопросы по тегам:

Похожие вопросы: