5 марта 2017 г, 02:41
Anastasia

cl_rate
Рассмотрим:
25000 /1024 = 24.4140625 кБ/сек.
В теории ваше соединение работает на скорости 512 килобит в секунду (в реальности оно работает на более низкой скорости).
Я перевожу это значение в килобайты в секунду: 512 / 8 = 64кБ/с

Теперь вы можете видеть что через ваше соединение могут играть 2.62 человека с rate в 25000 (64 / 24.414 = 2.62).
Можно использовать такое же вычисление для cl_rate, но этого делать не стоит, значения по умолчанию 9999 более чем достаточно.

cl_updaterate
Далее вы хотите изменить значения команд cl_updaterate и cl_cmdrate.
cl_updaterate определяет как много обновлений в секунду вы можете получить от сервера.
Ясно что нужно получать как можно больше обновлений, так как это дает вам более точную картину того где кто находится и куда летят их пули.
Однако, если у вас будет высокий cl_updaterate и низкий rate вы не сможете послать достаточное количество данных за обновление и любая выгода от высокого cl_updaterate будет сведена к минимуму.
Для того чтобы стало понятно, я сейчас все объясню.

Если я ставлю cl_updaterate в 100 и мой rate равен 25000 в теории каждое обновление может содержать до 250байт данных (25000 / 100 = 250).
Повторюсь чем больше данных вы сможете получить за обновление, тем более четко вы будете видеть игровой мир (это не означает что игровой мир будет более четким, а означает то, что ваши пули будут более четко попадать в цель).
В версии 1.3 было вычислено, что когда у вас на экране происходит много действий, вы можете использовать 175байт на обновление.
Таким образом если у вас высокий cl_updaterate, вам нужен соответствующий ему высокий rate.

Используя данные из 1.3 если у вас cl_updaterate равен 100, ваш rate должен быть равен по крайней мере 17500, но лучше иметь небольшой запас.
Я рекомендую значение 20000 как минимум (чтобы определить какое значение выбрать для вашего rate возьмите ваш cl_updaterate и умножьте его на 175, а затем прибавьте к полученному значению еще хотя бы 2000 для страховки).

cl_cmdrate
Работает так же как и cl_updaterate. Эта команда определяет сколько обновлений в секунду вы посылаете на сервер.
И снова ее значение нужно ставить как можно выше. Чем больше обновлений вы пошлете на сервер, тем больше информации он будет иметь о ваших действиях и о том куда летят ваши пули. На мой взгляд эта команда более важная чем cl_updaterate.

Как и с cl_updaterate и с rate вы можете вычислить максимальное количество данных которое может содержать каждое обновление.
Отсюда, если у вас cl_cmdrate равен 100 и ваш cl_rate равен 9999, каждое обновление может содержать 99.99байт данных (9999 / 100 = 99.99).
Этого должно хватить для ваших нужд, так как вы посылаете меньше данных на сервер, чем он посылает вам.

Помехи (choke) и потеря (loss)
Теперь мы будем смотреть на помехи и потерю. Помехи (choke) показывают вам число обновлений которые не были посланы в оба направления из за перегрузки соединения. Потеря (loss) показывает число обновлений которые были посланы, но не достигли другой стороны. Помехи более важны чем потери, потому что ими вы засоряете соединение и оно не справляется со всеми этими данными. Это означает что вам нужно понизить значения рейтов. Потеря не так важна и если у вас большая потеря это говорит о том что у вас с сервером плохое соединение. Появление как помех (choke) так и потери (loss) является следствием того, что значения рейтов которые вы используете, либо слишком низкие, либо слишком высокие.
 
Параметр cl_cmdrate должен быть равен параметру cl_updaterate

Для того чтобы увидеть параметры вашего FPS, а также choke и loss, необходимо ввести в консоль команду net_graph 3, в нижнем правом углу вы увидите цифры и качество соединения.

 


 

 
Спасибо сказали: Артём Васильев



Обратная связь: csredglobal@yandex.ru ТИЦ cs-redglobal.ru
CS-REDGLOBAL.RU