Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

1
Не в сети
Сообщений: 3
Благодарностей: 0
Предупреждений:
Из:
Род занятий:

Доброго времени суток.

Возможно многим известна процедура уменьшения игрового пинга при использовании Windows XP.
Эфективность нижеуказанной схемы была проверена собственно ручно: игровой пинг снизился на 40-50%
Суть ее очень проста и заключается в следующем:

Пуск - Выполнить - вводите regedit
Жмёте enter

1. Ищите:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Servises \ Tcpip \ Parameters \ Interfaces \

Там будет несколько подпапок с именем по типу {7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}.
Смотрите каждое, и ищите в каком стоит ваш интернетовский IPшник.

Правой кнопкой мыши и добавляете DWORD параметр с именем TcpAckFrequency, присваиваете значение 1 (хоть в 10ичной хоть в 16ичной системе)
если что-то потом не понравится, то выставление значеня 2 вернёт настройку по умолчанию.

2. Ищите HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ Parameters

правой нопокй добавляем параметр DWORD c именем TCPNoDelay и ставим значение параметра 1

3. Перегружаем компьютер

Если начинаются страшные потери пакетов, то возвращайте настройки обратно.

Как это работает?
Значение TcpAckFrequency определяет частоту отправки TCP/IP подтверждающего сообщения.
Если значение равно 2, TCP/IP будет отправлять подтверждение после 2 принятых сегментов
или после принятия 1 сегмента и отсутствия второго сегмента на протяжении 200 миллисекунд.
Если значение равно 3, TCP/IP отправляет подтверждение после приема 3 сегментов,
или после приема 1 или 2 сегментов и отсутствии последующих сегментов на протяжении 200 миллисекунд.
И так далее.

Если вам требуется сократить время ответа за счет удаления задержек отправки подтверждений TCP/IP, задайте это значение равным 1.
В таком случае TCP/IP будет немедленно отправлять подтверждение для каждого сегмента.
Если ваши соединения используются в основном для передачи крупных объемов данных и задержка в 200 миллисекунд несущественна,
имеет смысл увеличить это значение для снижения дополнительной нагрузки отправки подтверждений.
Ну а если мелкие, такие как наши пакетики ВоВ =)) то лучше поставить немедленное.

Параметр TCPNoDelay отключает алгоритм Nagl'e.
Из алгоритма следует, что в TCP соединении может присутствовать
только один исходящий маленький сегмент, который еще не был подтвержден.
Следующие маленькие сегменты могут быть посланы только после того, как было получено подтверждение.
Вместо того чтобы отправляться последовательно, маленькие порции данных накапливаются
и отправляются одним TCP сегментом, когда прибывает подтверждение на первый пакет.
Красота этого алгоритма заключается в том, что он сам настраивает временные характеристики:
чем быстрее придет подтверждение, тем быстрее будут отправлены данные.
В медленных глобальных сетях, где необходимо уменьшить количество маленьких пакетов, отправляется меньше сегментов.

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


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

Однако при этом страдают такие вещи как скачивание фаилов, службы торрента, ДовнЛоадер вова тоже будет дольше качать патчи....
Потом мы можем терять данные (протокло TCP теряет свое основное преимущество над UDP)

В связи с чем возникает вопрос:
Возможно ли при использовании Windows 7 использовать аналогичную методику настроек для уменьшения игрового пинга?
Соответственно если такая методика (схема) имеется, то хотелось бы узнать какие настройки необходимо произвести чтобы добиться результата аналогичного, применяемому в Windows XP

#190399   | 06.03.10 20:04
Не в сети
Сообщений: 2109
Благодарностей: 298
Предупреждений:
Из: Russia Екатеринбург
Род занятий: IT

whreeljack, в висте был переписан весь стек TCP/IP, в семерке его еще дописали, так что такие твики тут вряд ли будут работать

#190403   | 06.03.10 20:33
Не в сети
Сообщений: 3
Благодарностей: 0
Предупреждений:
Из:
Род занятий:

но с другой стороны принцыпы работы протокола TCP/IP икто не отменял. да и директория
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Servises \ Tcpip \ Parameters \ Interfaces \
в Win 7 существует, равно как и возможность создания DWORD параметров в 32-х битной системе.

#190408   | 06.03.10 21:15
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

whreeljack,
Будет работать, в игры не играю, но от других знаю, все это работает, так как по умолчанию ОС настроена на оптимальную передачу пакетов, т.е. как можно больше передать и как можно меньше получить подтверждений на переданные пакеты (один пакет на пачку переданных).
Смело можно устанавливать и ping будут бегать на 40% быстрее т.е. на каждый маленький пакет будет ответ.

#190428   | 07.03.10 09:46
Не в сети
Сообщений: 3
Благодарностей: 0
Предупреждений:
Из:
Род занятий:

Бэлиан :
whreeljack,
Будет работать, в игры не играю, но от других знаю, все это работает, так как по умолчанию ОС настроена на оптимальную передачу пакетов, т.е. как можно больше передать и как можно меньше получить подтверждений на переданные пакеты (один пакет на пачку переданных).
Смело можно устанавливать и ping будут бегать на 40% быстрее т.е. на каждый маленький пакет будет ответ.


То что данная схема продолжает работать - это хорошо. Но для меня, как неопытного пользовтеля остается не решенным вопрос, где именно в реестре необходимо внести изменения в Параметр TCPNoDelay отключающий алгоритм Nagl'e (а возможно каким-то иным способом). Так как дерриктории HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ Parameters, которая была в ХР в Win 7 по просту нет.

---

Копался копался и нашел http://forums.goha.ru/showthread.php?t=207520
в частности меня заинтересовало следующее:

Этот же метод для WINDOWS VISTA 32/64/Windows 7

1. пуск - выполнить - regedit
2. ищем там HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\
3. ищем там интерфейс по которому у вас работает интернет, если не в курсе то делаем следующий шаг во всех
4. правой кнопкой в поле справа, там создать строчку DWORD, называем ее TcpAckFrequency потом правой кнопкой на ней, изменить, ставим шестнадцатиричную галочку, и пишем значение 1

5. идем в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters

Если такого пункта в реестре нет, а его скорее всего нет, то делаем следующие шаги:

Открываем - Пуск- Панель управления - Программы и Компоненты-(слева)Включение и отключение компонентов Windows.
Там находим пункт - Сервер очереди сообщений Майкрософт (MSMQ), и ставим галочку напротив него и все галочки внутри в выпадающем списке компонентов. Перегружаемся, идем в реестр и видим там нужную нам запись.

Скрин: http://savepic.ru/1024313.jpg

6. В месте указанном в пункте 5 ищем TCPNoDelay, если нету создаем DWORD параметр с таким названием. значение 1.

Протестил данный метод. Все работает. Зафиксированно падение игрового пинга на 40%.
Всем спасибо за обсуждение темы.

#190432   | 07.03.10 11:36
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.032 секунд (Общее время SQL: 0.015 секунд - SQL запросов: 69 - Среднее время SQL: 0.00022 секунд))
Top.Mail.Ru