Что такое lerp в css
Небольшой ликбез
Настройки клиентской части по умолчанию: cl_updaterate 20; cl_interp_ratio 2; cl_interp 0.1.
Как это работает
По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция.
После теории перейдем к практике. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам.
1) Ваш интернет канал оставляет желать лучшего.
Предположим, что вы счастливый обладатель модема или в вашем городе широкополосный интернет пока по карману только избранным, или ваш сосед по общежитию по вечерам заливает на торрент пачку свежих немецких фильмов. Это значит, что вы можете себе позволить исключительно скромные сетевые настройки. Скорее всего те, что стоят по умолчанию, а быть может ваши дела ещё хуже. При cl_updaterate 20, даже если все пакеты благополучно приходят от сервера к клиенту, вы видите 20 кадров в секунду (не имеет значения, какой у вас компьютер). Человеческий глаз воспринимает эту картинку как дёрганную. Если же, не дай бог, потери (choke) есть, то играть вы просто не сможете, так как будете видеть слайдшоу.
2) Настройки серверов не позволяют клиентской части выставлять необходимые значения некоторых переменных.
Главная проблема тут безусловно cl_interp_ratio, на данный момент ни один европейский серверный конфиг не позволяет играть с этой переменной равной нулю. Сейчас добавление sv_client_min_interp_ratio 0 (эта команда отвечает за минимальное значение cl_inerp_ratio, которое может иметь клиент находясь на этом сервере) в евроконфиге скорее всего вопрос времени, и я пологаю, ждать осталось не долго. Но факт остается фактом: значение этой серверной переменной по умолчанию равно 1, а это значит, что клиент не может сделать lerp меньше, чем 10 мс.
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, оставляя его белым на каждом сервере, на котором играете. Это позволит вам снизить к минимуму все проблемы, связанные с вашим соединением с интернетом.
Ещё совет
Чтобы не париться с математикой, можно забиндить клавиши так:
bind «INS» «lerpa+»
bind «DEL» «lerpa-«
bind «HOME» «lerpb+»
bind «END» «lerpb-«
bind «PGUP» «lerpc+»
bind «PGDN» «lerpc-«
Форум проекта sourceplay.ru
Часовой пояс: UTC+03:00
| Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. | Страница 1 из 1 | [ 14 сообщений ] |
|
| Автор | Сообщение | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| qwist | | ||||||||||
Зарегистрирован: 06:33 Суббота, 24 Сентябрь 2011 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 | | ||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | | ||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 | | ||||||||||
Зарегистрирован: 11:54 Пятница, 20 Ноябрь 2009 | | ||||||||||
Зарегистрирован: 19:45 Понедельник, 03 Январь 2011 | | ||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | | ||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 |
Часовой пояс: UTC+03:00 Кто сейчас на конференцииСейчас этот форум просматривают: нет зарегистрированных пользователей lerp и его особенностиПо сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. 1) Ваш интернет канал оставляет желать лучшего. 2) Настройки серверов непозволяют клиентской части выставлять необходимые значения некоторых переменных. 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Например: Вывод: Чтобы не париться с математикой, можно забиндить клавиши так: bind «INS» «lerpa+» Что такое lerp в cssНастройки клиентской части по умолчанию: cl_updaterate 20; cl_interp_ratio 2; cl_interp 0.1. По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. После теории перейдем к практике. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам. 1) Ваш интернет канал оставляет желать лучшего. 2) Настройки серверов не позволяют клиентской части выставлять необходимые значения некоторых переменных. 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Например: Добивайтесь минимального значения lerp, оставляя его белым на каждом сервере, на котором играете. Это позволит вам снизить к минимуму все проблемы, связанные с вашим соединением с интернетом. Чтобы не париться с математикой, можно забиндить клавиши так: bind «INS» «lerpa+» Что такое lerp в cssЕсли Вы заметили, после последнего обновления сетевой код CS:S был изменен. Появилось несколько новых переменных и одна из основных это LERP. По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, с генерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам. 1) Ваш интернет канал оставляет желать лучшего. И так, как настроить? 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Чтобы не париться с математикой, можно добавить в autoexec.cfg: напомню, autoexec.cfg находится: ваш путь:/Steam/steamapps/ИМЯ АККАУНТА/counter-strike source/cstrike/cfg/. если такого файла нет, то его нужно создать используя любой текстовый редактор. значение LERP вовремя игры можно посмотреть включив net_grah 1 | ||||||||||













