|
Форум » Игровой раздел » Counter-Strike Source » Про lerp |
Про lerp |
Небольшой ликбез
Клиент-сервер - сетевой код игры созданый на основе обмена пакетами между сервером и клиентом. В этих пакетах информация о текущем состоянии игрового мира (расположении объектов и т.д.) cl_updaterate - число пакетов которые клиент получает от сервера каждую секунду. Интерполяция - получение промежуточных значений какой-либо величины, путем усреднения крайних. Интерполяция служит для сглаживания картинки, т.к. пакетов приходящих от сервера зачастую не хватает для того чтобы картинка смотрелась плавно. Настройки клиентской части по умолчанию: cl_updaterate 20; cl_interp_ratio 2; cl_interp 0.1. Как это работает lerp - промежуток времени в котором пакеты полученные клиентом будут интерполироваться. По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет "придумано" на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. После теории перейдем к практике. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам. 1) Ваш интернет канал оставляет желать лучшего. 2) Настройки серверов непозволяют клиентской части выставлять необходимые значения некоторых переменных. Если вторая причина вопрос времени, то вот с первой причиной совладать способов не очень много. 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Например: Вывод На последок замечу, что существует миф, будто бы lerp должен быть равен пингу. Пинг - время за которое пакет доходит от сервера к клиенту и он не имеет никакого отношения к интерполяции. Бесполезно пытаться найти связи в этих двух понятиях. При любом пинге сохраняйте lerp минимальным и белым. Совет sok'а alias lerpa+ "incrementvar cl_interp 0.01 0.09 +0.0001"// cl_interp +0.0001 bind "INS" "lerpa+" Если lerp очень большой - более 60. Видимо не настроен конфиг. - зайди в STEAM - настройки - загрузка. Там параметр "скорость вашего интернета". Поставь её в соответствие твоему тарифу Интернета. - пропиши в *:\*\Steam\SteamApps\****\counter-strike source\cstrike\cfg\autoexec.cfg rate "40000" |
| |||
| |||
Дизайн сайта пренадлежит администрации сайта.
Все материалы, пренадлежат их авторам.
Киберспортивный портал © 2011-2025.
robots |
sitemap |
sitemap-forum |
urllist