1. Уважаемые игроки! Чтобы подключиться к нашему серверу Renovatio вам необходимо выполнить процедуры в этой теме. Спасибо за ваш интерес к нам!
  2. Уважаемые игроки нашего сервера! Если вы хотите воспользоваться TeamSpeak 3 на нашем сервере вам необходимо указать адрес подключения к серверу: ts.it-ground.net Если вы хотите создать отдельный канал для вашей гильдии просто дайте нам знать!
  3. Гость, соблюдайте наши правила форума. Их нарушение может повлечь за собой бан учетной записи на определенное время, а в некоторых ситуациях бан может быть пожизненным.

КЛИЕНТ Оптимизация TCP, Win и возможная борьба с лагами

Тема в разделе "Технический раздел", создана пользователем In the Key Chords of Dawn, 11 окт 2016.

  1. In the Key Chords of Dawn

    In the Key Chords of Dawn Активный участник

    Регистрация:
    4 окт 2016
    Сообщения:
    72
    Симпатии:
    116
    Не знаю, как поведут себя данные фиксы на этом сервере,
    но на руофе они мне очень помогали...
    screenshot 2016-10-11 001.png
    Приемы, увеличивающие отзывчивость игры и в некоторых случаях, устраняющие лаги:

    Данные действия применимы и тестировались на Windows 7.

    1. пуск – выполнить – regedit
    2. ищем там HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Tcpip\Parameters\Interfaces
    3. ищем там интерфейс, по которому у вас работает интернет, если не в курсе, то делаем следующий шаг во всех строках папки Interfaces
    4. N79phzNb8kaexEDOVZ5hg.jpg
    5. правой кнопкой в поле справа, создать параметр DWORD (битность значения не имеет), называем его TcpAckFrequency, потом правой кнопкой на нем, изменить, ставим шестнадцатеричную галочку и пишем значение 1
    6. идем в HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSMQ\Parameters
    7. в месте указанном в пункте 5 ищем TCPNoDelay, если нету создаем DWORD параметр с таким названием и присваиваем значение 1


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


    1.png

    Есть вариант изменения ключа реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion\Multimedia\SystemProfile

    Имя: NetworkThrottlingIndex (если нет - создаем)
    Параметр: DWORD

    Значение означает количество пакетов не мультимедиа трафика в 1 миллисекунду, по умолчанию 10. Можно попробовать увеличить число или просто поставить шестнадцатеричное FFFFFFFF, в последнем случае полностью отключится регулирование трафика.



    Дополнительные параметры:
    Эти параметры так же способны оптимизировать сетевой обмен. При выборе их значений я руководствовался личным опытом, а не просто верил на слово различным советам. Когда-то я временно сидел на 3G интернете, где пинг сам по себе не очень, особенно в вечернее время, и мне ниже перечисленные настройки помогли. Однако, есть риск, что какой-нибудь параметр из них может и ухудшить ситуацию с пингом (хоть и не на много), поэтом я назвал их дополнительными и необязательными к выставлению.


    Раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\Tcpip\Parameters




      • SackOpts
        Выборочная передача поврежденных данных. Отлично помогает в борьбе с лагами, если клиент не кривой.
        Рекомендуемое значение: 1 (единица).
        Чтобы отключить: 0
      • EnablePMTUDiscovery
        Автоматически определять максимальный размер передаваемого блока данных.
        Рекомендуемое значение: 1 (единица).
        Чтобы отключить: 0
      • EnablePMTUBHDetect
        Включает алгоритм обнаружения маршрутизаторов типа "черная дыра". Видел советы по выставлению этого параметра в 0, однако, для себя я не заметил влияние этого параметра на пинг, а надежная связь нужна всем =)
        Рекомендуемое значение:1 (единица).
        Чтобы отключить: 0
      • DisableTaskOffload
        Позволяет разгрузить центральный процессор, освободив его от вычислений контрольных сумм для протокола TCP, переложив эту задачу на сетевой адаптер.
        Рекомендуемое значение: 0 (нуль).
        Чтобы отключить: 1
        Недостаток: Если возникли сбои в соединениях - отключите параметр.
      • DefaultTTL
        Определяет максимальное время нахождения пакета IP в сети, если он не может попасть на узел назначения. Это позволяет значительно ограничить количество маршрутизаторов, через которые может пройти пакет IP, прежде чем будет отброшен (вдруг пакет заблудился, зачем мы будем его ждать?).
        Рекомендуемое десятичное значение: 64
        Чтобы отключить: удалить параметр
    Раздел HKEY_LOCAL_MACHINE\SOFTWARE \Policies\Microsoft\Windows\Psched

    NonBestEffortLimit
    • Отключает резервирование пропускной способности канала для QoS.
    • Рекомендуемое значение: 0 (нуль).
    Чтобы вручную не править эти дополнительные параметры в реестре, можно воспользоваться готовыми reg-файлами для Включения и Отключения этих фитч.
     
    #1 In the Key Chords of Dawn, 11 окт 2016
    Последнее редактирование: 11 окт 2016
  2. In the Key Chords of Dawn

    In the Key Chords of Dawn Активный участник

    Регистрация:
    4 окт 2016
    Сообщения:
    72
    Симпатии:
    116
    Сетевые твики:

    Начиная с этой версии ОС появились дополнительные сетевые параметры, которые могут нам пригодится. Данные твики представляют собой команды, в данном случае, сразу содержащие рекомендуемые настройки. Чтобы их применить, нужно запустить командную строку (cmd) от имени администратора. Чтобы посмотреть текущие настройки, можно воспользоваться командой netsh int tcp show global

    Итак, команды:



      • netsh int tcp set global rss=enabled
        Использование нескольких процессов для обработки входящего потока, без RSS TCP/IP работает всегда только на одном процессоре даже если ПК многопроцессорный.
        Возможные значения: enable / disable
      • netsh int tcp set global netdma=enable
        Обмен информацией между сетевой платой и памятью ОЗУ без участия CPU (NetDMA).
        Возможные значения: enable / disable
      • netsh int tcp set global dca=enable
        Прямой доступ к кэшу NetDMA 2.0 (Direct Cache Acess).
        Возможные значения: enable / disable
      • netsh interface tcp set heuristics wsh=enable
        Автоматический подбор размера окна TCP (WSH). По идее, сводит на нет настройку следующего параметра, но пусть будет чтобы потом можно было что-то безболезненно включать / отключать, не сильно отступаясь от цели.
        Возможные значения: enable / disable
      • netsh int tcp set global autotuninglevel=highlyrestricted
        Автонастройка размера приемного окна TCP, не сильно отступаясь от значения по умолчанию.
        Возможные значения: disable / higlyrestricted / restricted / normal / experimental
      • netsh int tcp set global timestamps=enable
        Штампы времени при установки с ключами как Auto-Tuning Level оптимальный выбор размера окна приема.
        Возможные значения: enable / disable
      • netsh int tcp set global ecncapability=enable
        ECN - это механизм взаимодействия маршрутизаторов о заторах в сети. Он предназначен для уменьшения ретрансляции пакетов. Это позволяет автоматически снижать скорость передачи данных для предотвращения потерь данных. Описание говорит само за себя, для надежности.
        Возможные значения: enable / disable
      • netsh int tcp set global congestionprovider=none
        CTCP увеличивает темп передачи с одновременным контролем размера окна и пропускной способности (Add-On Congestion Control Provider). Во всех гайдах в интернете, которые мне попадались, советовали установить этот параметр равным ctcp. Однако, на практике, всё оказалось куда более сложнее. В моем случае он вызвал только более продолжительные лаги, несмотря на то, что потери пакетов (и всё в этом роде) он, вроде как, и призван устранять. Поэтому я рекомендую всё же значение none, исходя из опыта. Возможно, в сетях с более надежной связью CTCP и даст профит.
        Возможные значения: none / ctcp / default

    Отключаем сетевой протокол Teredo (для тех, кто не использует IPv6).

    Инновация, которая все время чекает соединение и пакеты на предмет принадлежности их к сети IPv6, нагружая сетевую карту и забивая наш канал данных. Отключение Teredo может ускорить работу сети и интернета, как это делается:
    Запускаем Командную строку (Пуск > Выполнить > cmd) и вводим команды по очереди.

    netsh
    interface
    teredo
    set state disabled

    Для возврата Teredo, команды вводятся такие же, кроме последней. Последняя должна быть set state default


    Переключение между окнами.
    Не знаю как вы, а я столкнулся с проблемой переключения окон запущенного клиента. Суть проблемы в том, что при переключении активного окна, система либо переключала на рабочий стол, либо не переключала окно вовсе. К счастью я нашел решение! Проблема таилась в интерфейсе Aero стандартного переключателя окон. Небольшой фикс сменит стиль свитчера на стиль классического Win XP. Ссылка на архив ниже...

    xp-alt-tab.png
    В архиве два файла, один для установки, другой для отмены изменений, если вдруг вам этот фикс не помог.

    Скачать



    Leatrix Latency Fix.
    Известная проблема у всех игроков, которые проводят своё время за онлайн-играми (wow, cs, lineage и любые другие) – это высокий пинг. Точнее говоря, даже если он не очень высокий, таки всё равно всем хочется его снизить, ибо чем меньше пинг, тем лучше, плавнее, качественнее и адекватней протекает игра и любые в ней действия.
    1294459537-1294459530_running_process-20kb.png
    Что это вообще есть? Пинг – это ни что иное как время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту (кстати, тут есть некоторая путаница терминологии, ибо это время называется не пингом, а лагом или, собственно, задержкой (англ. Latency – отставание; задержка, запаздывание) и измеряется в миллисекундах. Лаг связан со скоростью соединения и загруженностью каналов на всём протяжении от клиента к серверу. Но не буду разбивать сейчас представления о терминологии, – пусть будет по традиции, – пинг и пинг). Так вот, можно провести ряд изменений в реестре, которые позволят существенно (почти вдовое!) снизить Ваш пинг практически во всех онлайн-играх и приложениях использующих TCP-протокол.

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

    К слову, скрипт актуален не для всех соединений, а посему у кого-то может не работать, т.е пинг останется прежним. Однако, попытка не пытка. Как правило, оный наибольший эффект оказывает на системы со средней и высокой пропускной способностью канала.

    Как это работает? Что за скрипт по снижению пинга такой?

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

    До применения Leatrix Latency Fix:
    Сервер: “Так, компьютер, отправил тебе пакет с данными. Получил?”
    Компьютер: “…”
    Сервер: “Ну, давай, отвечай, мне целый день тебя ждать?”
    Компьютер: “…”
    Сервер: “Ладно, проехали, вот тебе еще один пакет. Получил?”
    Компьютер: “Ага, получил, и предыдущий пакет тоже, спасибо”.
    Сервер: “А чего же сразу не ответил?”
    Компьютер: “Вот так я настроен по умолчанию, извините”.
    После применения Leatrix Latency Fix:
    Сервер: “Так, компьютер, отправил тебе пакет с данными. Получил?”
    Компьютер: “Ага, шли следующий!”
    Сервер: “Ух, быстро ты! Лови следующий. Получил?”
    Компьютер: “Да, давай еще!”
    Сервер: “Ого! Быстрый ты. Лови!”
    И так далее.

    Шутки шутками, но фактически скрипт убирает таймер задержки в Windows на обработку пакетов (сделанный якобы с целью дать системе обработать пришедший сегмент данных и только потом ответить получен ли он), а посему подтверждение о полученном пакете высылается сразу же для каждого сегмента, который был, собственно, принят. Это приводит к значительному сокращению задержки на пересылку и обмен информацией между компьютером и сервером. Таким образом и снижается пинг.

    Скачать
     
    #2 In the Key Chords of Dawn, 11 окт 2016
    Последнее редактирование: 11 окт 2016
    ROffline, Phenomena и Bangerok нравится это.
  3. In the Key Chords of Dawn

    In the Key Chords of Dawn Активный участник

    Регистрация:
    4 окт 2016
    Сообщения:
    72
    Симпатии:
    116

    VooDoo3 и openGL 1.0.

    Спасибо lifespirit.
    Стоит отметить, что если у вас падает FPS или появляются рывки картинки это не всегда пинг. Есть возможность попробовать включить VooDoo3 и openGL 1.0 ускорение для ро. Некоторым пользователям с Windows 8 помогает только это, потому что у некоторых ноутов 2 видюхи и setup.exe неверно обрабатывает список устройств. Для эмуляции VooDoo3 карточки на вашей видяхе вам понадобится специальный драйвер- эмулятор. Их бывает несколько и они подробно описаны вот в этой статье. Я ставил Zeckensack's GlideWrapper, мне очень помогло. Ссылка на драйвер. Ставите его, выбираете в настройках Setup.exe VooDoo3 graphics card и наслаждаетесь плавной игрой c OpenGL 1.0. Побочным эффектом получаете (если поковыряете конфиг драйвера) рельефные мостовые, более качественно отрисованную анимацию и прочие плюшки.
     
    #3 In the Key Chords of Dawn, 11 окт 2016
    Последнее редактирование: 11 окт 2016
    Phenomena и Bangerok нравится это.
  4. nobless

    nobless Активный участник

    Регистрация:
    26 сен 2016
    Сообщения:
    197
    Симпатии:
    29
    По поводу лагов еще - помнится, когда-то на Гохе натыкался на похожую статью, где среди прочего была упомянута программка cfosspeed. Попробовал, лаги пропали - и это при том, что тогда мне требовалась оптимизация при игре в Aion (который у меня лагал гораздо жестче, чем РО). С тех пор пользуюсь ею, и лаги возникают только в крайних ситуациях (например, при запуске программ, нагружающих канал - вроде торрент-клиента или скайпа).