[ Главная страница · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Жизнь на сайте » КУРИЛКА » Тупое понятие (Бла-Бла)
Тупое понятие
mix@44Дата: Среда, 20.06.2012, 11:47 | Сообщение # 1


Награды:

загрузка наград ...
Титул: КТО ТО
Город: Галич
Награды: 12
Репутация: 37
Статус: Offline
cl_updaterate – число пакетов которые клиент получает от сервера каждую секунду.
cl_cmdrate – число пакетов которые клиент посылает серверу каждую секунду.
rate – максимальное количество байтов, которые Вы можете получить в секунду.
Интерполяция – получение промежуточных значений какой-либо величины, путем усреднения крайних. Интерполяция служит для сглаживания картинки, т.к. пакетов приходящих от сервера зачастую не хватает для того чтобы картинка смотрелась плавно.

Принцип работы:
cl_updaterate 20 – означает, что клиент будет получать от сервера пакеты 20 раз в секунду, разница между пакетами – 50 мс. Чтобы предотвратить лагание от возможной потери пакета, интерполяция должна происходить в промежуток времени равный 2*50=100 мс. Чтобы обеспечить такую интерполяцию, необходимо задать параметр cl_interp 0.1. Множитель два означает, что мы хотим интерполировать две области между тремя пакетами пришедшими от сервера. Если мы хотим итерполировать только одну область, мы должны изменить соответствующий параметр. Этим параметром является переменная cl_interp_ratio. Она может принимать значения 2, 1, 0. Как не сложно догадаться, если эта переменная равна нулю, то интерполяция на клиенте будет отсутствовать. В общем случае формула для промежутка такова: lerp=cl_interp, но не может быть меньше cl_interp_ratio/cl_updaterate.

Итак, чтоже такое lerp:
lerp– промежуток времени в котором пакеты полученные клиентом будут интерполироваться.

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

С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp=0 по двум причинам.

1) Ваш интернет канал оставляет желать лучшего.
Как следствие вы можете себе позволить исключительно скромные сетевые настройки. Скорее всего те, что стоят по умолчанию, а быть может и еще хуже. При cl_updaterate 20, даже если все пакеты благополучно приходят от сервера к клиенту, вы видите 20 кадров в секунду (не имеет значения, какой у вас компьютер). Человеческий глаз воспринимает эту картинку как дерганую. Если же потери (choke) есть, то играть вы просто не сможете, так как будете видеть слайдшоу. Поэтому если у вас плохое соединение и постоянно теряются пакеты, то lerp=0не для Вас. Вам нужна интерполяция cl_interp_ratio 2.

2) Настройки серверов непозволяют клиентской части выставлять необходимые значения некоторых переменных.
Основная проблема безусловно в переменной cl_interp_ratio, на большинстве серверов конфиг (настройки сервера) не позволит играть с этой переменной равной нулю. На данный момент значение серверной переменной sv_client_min_interp_ratio 1 (эта команда отвечает за минимальное значение cl_inerp_ratio, которое может иметь клиент находясь на этом сервере) не позволит клиенту сделать lerp меньше, чем 10 мс.

Как же настроитьlerp?

Поднимайте рэйты: cl_cmdrate 66; cl_updaterate 66; rate 20000 – это ваш минимум. В идеале на 100 тиковом сервере у вас должно быть cl_cmdrate 100; cl_updaterate 100; rate 25000. Если сервер позволяет, ставьте cl_interp_ratio 0; cl_interp 0.
66, а тем более 100, кадров в секунду – вполне достаточно, чтобы комфортно воспринимать игру без интерполяции и лагов. Если же сервер не позволяет вам играть без интерполяции (пока что, это самый распространенный случай), рецепт очень прост:

1) Напишите в консоли cl_updaterate и запомните значение этой переменной.
2) Напишите в консоли cl_interp_ratio 1 .
3) Разделите 1 на значение cl_updaterate .
4) Напишите в консоли cl_interp и присвойте ему то что получили в пункте 3.

Например:
Я играю с cl_updaterate 66, это значит что в 3 пункте я получу 0.0152, следовательно мне нужно написать cl_interp 0.0152. Это даст мне lerp=15. Что уже довольно неплохо. Так как интерполяция таких временных промежутков не слишком сильно добавляет неточности вашим действиям.
Если вы пишите значение cl_interp меньшее, чем cl_interp_ratio/cl_updaterate, то на net_graph lerp будет отображаться оранжевым цветом. Если же lerp окрашен в желтый, то значит значение lerp больше промежутка времени между отсылаемыми пакетами на этом сервере. В обоих случаях lerp (а значит cl_interp) нужно увеличивать пока тот не станет белым. Если вы будете пытаться играть с НЕ БЕЛЫМ lerp, то вы обрекаете часть своих выстрелов застревать в промежутке клиент-сервера. ВАЖНО учесть что настройки серверов различны, поэтому в некоторых случаях не получиться настроить lerp по пунктам описанным выше – поэтому просто добивайтесь минимального БЕЛОГО значения lerp.


μįђ@44™



 
Форум » Жизнь на сайте » КУРИЛКА » Тупое понятие (Бла-Бла)
  • Страница 1 из 1
  • 1
Поиск:


Статистика Форума
Последние темы Новые пользователи Лучшие пользователи

1 Набор плагинов для L4D

☭Ғỉĝą☭ -Автор (127)

2 Stripper: Source

☭Ғỉĝą☭ -Автор (8)

3 Набор плагинов для L4D от Alex...

☭Ғỉĝą☭ -Автор (5)

4 Меняется режим игры

ASDnn -Автор (15)

5 Warcelona

☭Ғỉĝą☭ -Автор (0)

6 Silent Hill

☭Ғỉĝą☭ -Автор (0)

7 Night Terror

☭Ғỉĝą☭ -Автор (0)

8 Как играть S.T.A.L.K.E.R Зов П...

mix@44 -Автор (9)

9 Death Toll APOCALYPSE

mix@44 -Автор (0)

10 No Mercy APOCALYPSE

mix@44 -Автор (0)

1 pokemon4ik353 (Алекс Сандер)

14:16 - 24.03.2024

2 p47799919 (Rochelle Eits)

10:01 - 16.12.2023

3 getfunnet ()

23:16 - 12.06.2023

4 daniilkargin95 (Даниил Каргин)

19:00 - 08.05.2023

5 daranikolusova (Дарья Николусова)

21:26 - 05.12.2022

6 lendle1 (roman romanov)

RU22:43 - 15.10.2022

1 ☭Ғỉĝą☭

RUРейтинг: -9991 Новостей: 0 Форум: 206

2 mix@44

RUРейтинг: 37 Новостей: 0 Форум: 119

3 Viking34

RUРейтинг: 54 Новостей: 0 Форум: 51

4 Светик

RUРейтинг: 56 Новостей: 0 Форум: 31

5 TANK

UAРейтинг: 49 Новостей: 0 Форум: 17

6 Black_Barty

RUРейтинг: 14 Новостей: 0 Форум: 14

FIKSIKI.TEAM A SURVIVORS TEAM © 2024