Announcement

Collapse
No announcement yet.

FAQ по уменьшению Ping'a

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • FAQ по уменьшению Ping'a

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

    I. Ping
    Итак, давайте разберемся, что такое пинг.
    [Цитата c wikipedia.org]
    Ping
    Утилита для проверки соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса.
    Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов («асдиков») времён Второй Мировой войны.
    Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.
    Обычный эхо-запрос имеет длину 64 байта (плюс 20 байт IP-заголовка). По стандарту RFC 791 IPv4 суммарный объем пакета не может превышать 65 535 байт.
    В разговорной речи пингом называют также время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту.
    Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.
    Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторах, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).
    Так как для отправки ICMP-пакетов требуется создавать raw-сокеты, для выполнения программы ping в UNIX-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping в правах доступа файла /bin/ping устанавливают SUID-бит
    .
    Если приостановить поток информации и описать в 2х словах, то: это - время за которое запрос от тебя, проходит по всем инстанциям, то - есть твой провайдер -> куда посылаешь запрос -> снова провайдер -> к тебе. Следовательно, чем меньше у вас пинг, тем меньше время отклика той или иной программы на ваше действие.
    Итак, как же нам уменьшить пинг? Самое действенное решение - это банальная смена провайдера. А что же делать тем людям которые живут на северном полюсе, где ловит только билайновский модем и то только по четвергам?
    Вот для таких мамонтов мы сейчас попробуем разобрать все действия по пунктам.

    1. Только для пользователей STEAM! Вырубаем стим клауд (Steam Cloud). Он жрет больше трафика чем сама запушенная игра. [Итог - улучшение пинга, прирост фпс.]
    Сделать это можно так - В Steam жмем -> Настройки -> Загрузка + Cloud в этой вкладке внизу снимаем галочку с пункта - Включить синхронизацию со Steam Cloud для поддерживаемых игр.
    Далее заходим в сам CSS, заходим в настройки -> сетевой режим, в этом окошке снизу, справа будет вкладка "Дополнительно". Заходим в неё, и в самом низу будет строчка с галочкой "Синхронизировать со Steam Cloud"
    2. Повышение приоритета в Диспетчер задач (Спасибо Underwhat). В большенстве случаев - стабилизация вашего пинга, и огромный прирост фпс.
    Делаеться это так - комбинация клавиш CTRL+SHIFT+ESC сразу открывает окно диспетчера задач. Во вкладке "Процессы" находим процесс hl2.exe, жмем на него правой кнопкой, наводим на "Приоритет" и тут уже выбераем 1 из 6 режимов приоритета. (По стандарту - средний. Не советую ставить "Реального времени")
    3. Рейты. В большенстве случаев они просто бесполезны. Т.е. неощутимое влияние на пинг, но раз уж я затронул эту тему, значит продолжим. Но тут надо копнуть глубоко чтобы вы поняли с чем связались...
    Итак, Rates (коэффициент скорости) – Rate (Рейт) - это максимальный предел байт в секунду, который сервер может послать клиенту. Определяет максимальный предел байт в секунду, который клиент может послать на сервер. В игре это значение меняеться командой "rate". Стандартное значение 30000, я себе прописал в autoexec 60000. Но вам желательно выставить свои, а не мои. Рейты либо должны грамотно выставлены, либо лучше их вообще не трогать т.к. можно только навредить. Нужный рейт вычесляеться довольно легко. Делаеться это так. Допустим что ваще соединение 512 килобит в секунду, но в реальности оно работает на более низкой скорости. Переводим это значение в килобайты в секунду: [512 / 8 = 64кБ/с]. Далее берем значение рейта, которое измеряется в байтах в секунду и переводим его в килобайты в секунду. [25000 /1024 = 24.4140625 кБ/с] Теперь делим вашу реальную скорость на значение рейта переведённого в килобайты / секунды. (64 / 24.414 = 2.62) Цифра 2.62 означает что ваще соединение может вытянуть 2 с половиной компа с учетом того что выставленные рейты не будут превышать значения 25000.
    cl_updaterate и cl_cmdrate на нашем сервере стоят 66, и изменить их нельзя (что ооооочень плохо). Так что я даже не стану описывать что это такое...
    Отключить торренты(даже если нет закачек, т.к. соединения все равно открывает)
    4. Если у вас стоит роутер, то желательно соеденить по кабелю (не по вайфай). А еще лучше подсоединить напрямую. Стоит обновить прошивку на роутере, если вы всё - же решили оставить подключение через него. (А если у вас стоит что-то типа dlink-dir300, то обновить роутер на нормальный.)® Megawell.
    5. Не стоит забывать про включённые программы типа - ųTorrent, Skype, ICQ, Mail Agent и тому подобные... Даже если в данный момент закачка не идет, эта программа в любом режиме нагружает процессор и оперативку, далее как следствие ухудшение производительности.

    II. FPS
    Для начала разберемся что такое FPS.
    [Цитата wikipedia.org]
    В компьютерных играх под кадровой частотой (англ. FPS, Frame Per Second) понимается частота, генерируемая само́й игрой в зависимости от ресурсов компьютера и необходимости передачи движений разной интенсивности. При этом игры можно разделить на два класса: игры с постоянной кадровой частотой и игры с переменной кадровой частотой. Игры с постоянной кадровой частотой выдают на слабых и мощных компьютерах одинаковое количество кадров в секунду. Если (на очень слабых компьютерах) игра не справляется с прорисовкой, замедляется вся игра. Игры с переменной кадровой частотой на слабых компьютерах начинают пропускать кадры, скорость игрового процесса не меняется.
    В любом случае, выдаваемая игрой кадровая частота обычно не кратна кадровой частоте монитора, это приводит к рваному изображению(tearing). Для борьбы с этим существует режим вертикальной синхронизации (англ. V-Sync).
    И опять, здеть так же как и с пингом, самое действенное средство, это смена видео карты, или всего компьютера сразу. Но для тех кто не обладает средствами на обновление своей машинки, я разлажу по пунктам действия которые увеличат фпс на вашем экране.
    1. Покопаемся в опциях:
    Vsync (Вертикальная синхронизация): яркий пример крупнейшего недопонимания в истории графических настроек. Вот как Vsync работает: у вашего монитора частота обновления экрана определяется для каждого разрешения по-разному. Поясню на примере: мой монитор тянет 60Hz на максимально доступном разрешении 1980x1020. Это значит, что мой монитор показывает только 60 кадров в секунду при данном разрешении. Восторгаетесь своими 300 fps в Q3? Циферка на экране конечно же показывает именно столько, но в реальности весь эффект полностью сводится на «нет» вашей частотой обновления экрана. Все, что выше частоты обновления, вызывает эффект, называемый tearing или разрыв изображения. Tearing выражается в волнообразном набегании кадров - бегущих по экрану полосах. Vsync же устанавливает ваш максимальный fps равным текущей частоте обновления экрана, что позволяет полностью убрать tearing и добиться значительного улучшения картинки. И еще я заметил, что с включенным Vsync
    изменяеться плавность движения мышки. То есть без оного мыщь гораздо лучше откликаеться на ваше действие. Мораль сей басни такова - при использовании вертикальной инхронизации в игре, вы выставляете придельный порог вашего FPS с на значение 60. Но получаете эффект - Tearing, его на самом деле особо не заметно, а если привыкнуть то вы и вовсе не сможете больше играть с Vsync. Другими словами - хотите FPS выше 60? Вырубайте вертикальную синхронизацию.

    AA(Сглаживание) & AF (Анизотро́пная фильтра́ция). AA - сглаживает линии и границы, делает их плавнее. AF - делает текстуры более качественными, лучше выглядящими, в вдалеке. Эти оба параметра съедают порядочно FPS (особенно AA). ДА и в итоге получается, что "цена - качество" просто несопоставимы. А вместо AF используйте лучше параметр trilinear (на большинстве карт его производительность быстрее, чем у bilinear). Лично я играю без AA и AF стоит на trilinear, и хочу заметить что у меня видюха GTX560.
    Остальные настройки можно смело ставить на максимум, за исключением, правда, water complexity - рекомендую поставить параметр на simple reflections.
    Но лично я многое что поставил на средние настройки, и убрал блюр. Это уже дело вкуса, с какими параметрами приятней смотреть в монитор. Чем больше всяких бликов, отсвечиваний, отражений и тд, тем сложнее попасть в хед бусурману.

    А теперь самое весёлое! Консольные комманды:
    Прежде чем начинать их безумно вводить, я вам посоветую создать свой конфиг. Делаеться это для того чтобы не вводить одни и теже команды каждый раз при заходе в игру...
    Делаеться это довольно просто - Создаем текстовый файл с именем - "autoexec" (разумееться без скобок Т_Т). Заходим в него вписываем нужные команды через строчку т.е. в таком виде:
    net_graph 1
    max_fps 600
    и тд.
    После того как вписали нужные команды, надо перевести ваш текстовый документ в .cfg формат. Есть много способов, но я опишу свой. Открываем програмку Winrar, находим в ней ваш файлик там где вы его создали, и переименовываем из "autoexec.cfg". (Без кавычек!) После этого заходим в свойства файла и ставим галочку на параметре - "только чтение". Это делаеться для того чтобы игра или вы по ошибке не сменили \ переписали параметры вашего конфига. Далее помещаем ваш конфиг в папку cfg. В Steam версии она находиться примерно вот где: D:\Program Files\Steam\steamapps\имя_вашей_учётки\counter-strike source\cstrike\cfg; Для no - steam еще проще, например: D:\Games\counter-strike source\cstrike\cfg;
    Итак сами команды в студию:
    fps_max
    Ограничевает максимальное значение FPS. Здесь осторожно! Слишком большое значение навредит 100%. Стандартное значение - 300. Лично у меня стоит 250. На ноуте 150.
    r_mmx 1
    Включает поддержку процессоров MMX. Небольшое увеличение fps, нет потери качества картинки
    r_sse 1
    Включает поддержку процессоров SSE. Небольшое увеличение fps, нет потери качества картинки
    r_sse2 1
    Включает поддержку процессоров SSE2. Небольшое увеличение fps, нет потери качества картинки
    r_3dnow 1
    Включает поддержку технологии 3DNOW (только для AMD). Небольшое увеличение fps, нет потери качества картинки
    r_3dsky 0
    Убирает марево вокруг 3D объектов. Считается читом, по неизвестным причинам. Большое прибавление к FPS, небольшая потеря качества картинки
    r_shadows 0
    Хочу сказать одну вещь про тени в Half-life 2: они реально фиговые. Отключаем их нафиг, пока Valve не улучшит их. Большое прибавление к FPS, небольшая потеря качества картинки
    net_graph 3
    Команда рисует график скорости вашего соединения в нижнем право углу экрана. Отличный мониторинг за вашим соединением. Небольшое уменьшение FPS, но очень полезная тулза.
    r_decal_cullsize 0
    эта команда устанавливает минимальный размер отображаемых предметов в пикселях. Позволяет видеть отверстия от пуль в стенах с большего расстояния. Очень незначительное падение fps. Улучшение графических эффектов
    cl_smooth 0
    Не знаю, что эта команда делает, за исключением того, что она реально снижает ваш FPS (изначально включена). Среднее увеличение fps. Без ухудшения графических эффектов.
    cl_phys_props_enable 0
    Ооочень большая помощь! Убирает маленькие интерьерные модельки с карты, разгружая тем самым ваш процессор. Всякие листочки, бутылки, мусор... Бочки и ящики, естественно остаются. Огромный прирост FPS, небольшая потеря качества картинки.
    cl_pushaway_force 0
    Это еще одна из команд, в данный момент считающихся читом. Большинство серверов принудительно установят значение в 20000. Убирает "пихание" при столкновении с бочками и другими физическими объектами. Значительно улучшает движение.
    fog_enable 0
    Вот еще одна команда, для улучшения FPS. Выключает дальний случайный туман. Команда никак не влияет на дым от гранаты, только туман. Большая прибавка к FPS, небольшое ухудшение картинки. (Не работает без sv_cheats 1)
    cl_allowupload "0"
    Команда запрещает загрузку файлов на сервер с вашего компьютера.
    cl_allowdownload "0"
    Команда запрещает скачку файлов с сервера на ваш компьютер.
    r_lod 0
    Ухудьшает или улучшает видимость далекой модели игрока. 0 - плохая модель, больше FPS. -5 - хорошая модель, меньше FPS. Немного ухудшается картинка.
    cl_show_bloodsprays 0
    Опять же считается читом, так как может облегчить игрокам видимость без крови. Больше FPS, меньше потери крови =).
    cl_ejectbrass 0
    Убирает показ отстрелянных гильз. Прирост к FPS.
    mat_dxlevel 80 \ 85 \ 90 \ 95. Эта команда влючает разные версии Direct X. 80 = 8.0 Версия соотвественно.
    cl_drawhud 0 - Вырубает HUD, прирост FPS, тока я хз как вы будете играть без HUD'a.

    Всё еще мало FPS? Ок вот вам еще команды на ваш страх и риск.
    cl_show_splashes "0"
    mp_decals "0"
    mat_bufferprimitives "1"
    mat_bumpbasis "0
    mat_bumpmap "0"
    mat_fastnobump "1"
    mat_fastspecular "1"
    mat_filterlightmaps "1"
    mat_filtertextures "1"
    mat_forceaniso "0"
    mat_forcedynamic "0"
    mat_loadtextures "1"
    mat_mipmaptextures "1"
    mat_picmip "1"
    mat_reducefillrate "1"
    mat_showwatertextures "0"
    mat_specular "0"
    muzzleflash_light "0"
    r_modellodscale "0.1"
    r_drawlights "0"
    r_DispUseStaticMeshes "0"
    r_waterforceexpensive "0"
    r_shadowrendertotexture "0"
    r_rootlod "2"
    r_drawrain "0"
    r_decals "0"
    r_dynamic "0"
    r_WaterDrawReflection "0"
    r_WaterDrawRefraction "0"
    violence_hgibs "0"
    budget_show_history "0"


    Дорогие форумцы! Если вам не сложно, помогайте дописать и улучшить гайд. Я не робот, и не создатель игры... где - нибуть могу и ошибиться...


    Надеюсь что кому - нибуть помог, если что - нибуть не поняли, пишите обьясню.
    Нашли ошибку? Пишите исправлю...
    Last edited by ИЊЌогнито ツ; 22.11.2012, 12:10.
    "Опять админы играют с читами". (с)

  • #2
    Originally posted by ИЊЌогнито ツ View Post
    2. Повышение приоритета в Диспетчер задач
    Имеет смысл только на 1-2ядерном процессоре, на 4х и больше - в большенстве случаев будет бесполезно. если конечно мультимедиа в фоне не кодировать .

    А еще можно дописать -
    1. Отключить торренты(даже если нет закачек, т.к. соединения все равно открывает)
    2. Если стоит роутер то желательно соеденить по кабелю (не по вайфай)
    3. Обновить прошивку на роутере на последнюю заводскую/ddwrt. (а если у вас что-то типа dlink-dir300 то обновить роутер на нормальный xD )
    4. Ну в теории отключить антивирус и фаерволл

    Comment


    • #3
      Учтём, спс.
      "Опять админы играют с читами". (с)

      Comment


      • #4
        Будем пробовать, спасибо.

        Comment


        • #5
          Спасибо, всё подробно расписал) Пинг уменьшился, но фпс так и не повысился, что очень печально(

          Comment


          • #6
            Originally posted by miks^^ View Post
            спасибо, всё подробно расписал) пинг уменьшился, но фпс так и не повысился, что очень печально(
            да я по фпс толком нечего не написал, позже допишу сюда огромную статью о фпс... тока придется переименовать тему.

            а вот теперь, можешь спокойно хавать знания о fps. :d

            Модераторы, прикрепите пожалуйста тему. Мне кажеться она не самая бесполезная...
            Last edited by ИЊЌогнито ツ; 17.11.2012, 13:37.
            "Опять админы играют с читами". (с)

            Comment


            • #7
              Скажи пожалйста, а как убрать эти консольные команды, я установил все как надо, даже график скорости появился, а как его убрать??? Я уже и этот документ удалял, а старый вставлял обратно. Не помогает, остается график скорости. Как убрать его скажи??

              Comment


              • #8
                про FPS
                r_shadows 0 вроде убирает тени?
                не советую убирать тени, с ними, во многих случаях, можно спалить противника за ящиками, или уловить момент, когда он будет выбегать из за угла ))
                не раз в этом сам убеждался.
                Last edited by megawell; 19.11.2012, 17:59.

                Comment


                • #9
                  Originally posted by ИЊЌогнито ツ View Post
                  dlink-dir300
                  А продавец говорил что он норм(((

                  Comment


                  • #10
                    Originally posted by MEKSIKANEIL View Post
                    Скажи пожалйста, а как убрать эти консольные команды, я установил все как надо, даже график скорости появился, а как его убрать??? Я уже и этот документ удалял, а старый вставлял обратно. Не помогает, остается график скорости. Как убрать его скажи??
                    В консоле net_graph 0 (значение 1 - ставиться маленькое, прозрачное и удобное окошко с FPS и настоящим пингом.)
                    Originally posted by megawell View Post
                    про FPS
                    r_shadows 0 вроде убирает тени?
                    не советую убирать тени, с ними, во многих случаях, можно спалить противника за ящиками, или уловить момент, когда он будет выбегать из за угла ))
                    не раз в этом сам убеждался.
                    Да, возможно я прогнал... тени стали полезные, я лично ставлю их на макс... Бывает даже на стенах тени в картах типо estate, не исключено получение пермамента... Админ тоже человек, может не сразу вспомнить про тени на стенах
                    Originally posted by FreE[S]Tyle View Post
                    А продавец говорил что он норм(((
                    Это же барыги!Им бы лижбы впарить, у них от продажи идет процент в зарплату. Кому ты веришь.

                    Дорогие форумцы! Если вам не сложно, помогайте дописать и улучшить гайд. Я не робот, и не создатель игры... где - нибуть могу и ошибиться...
                    Last edited by ИЊЌогнито ツ; 22.11.2012, 12:09.
                    "Опять админы играют с читами". (с)

                    Comment


                    • #11
                      Originally posted by FreE[S]Tyle View Post
                      А продавец говорил что он норм(((
                      :smile:
                      Из совсем недорогих щас всем рекомендую TP-LINK TL-WR842ND . У самого TP-LINK TL-WR1043ND (пользуюсь уже 2 года, не подводил,до этого был 100мегабитный канал, ни одного зависона) D-link-овское говно никогда не возьму больше )) были - D-link dir300(B1), D-link dir320 , D-link dir 600... Один в шкафу, второй у родителей, третий мертв )

                      Comment

                      Working...
                      X