Главная | RSS

Меню сайта
Мини-чат
Главная » 2009 » Январь » 7 » Статья про рейты, советую прочитать всем.
Статья про рейты, советую прочитать всем.
20:20
Рейты (Rates)

Многие люди часто спрашивают что такое рейты, какие значения использовать и т.п Я думаю написание руководства, объясняющего что все это значит, поможет многим людям. Чтобы потом люди не говорили какие значения использовать, не понимая что они означают на самом деле.

Определение.

Начнем с определений:

Rate (Рейт) - это максимальный предел байт в секунду который сервер может послать клиенту.
cl_rate - определяет максимальный предел байт в секунду который клиент может послать на сервер. (Вам не нужно беспокоится об этом параметре)
cl_cmdrate - число раз в секунду которое клиент информирует сервер о своих действиях.
cl_updaterate - это сколько раз в секунду сервер говорит клиенту что происходит на карте.

Я предполагаю, что большинство людей использует ADSL или кабель и здесь я буду рассматривать ADSL в качестве примера и исходя из этого я предполагаю, что скорость входящего потока у всех 512кб\с и скорость исходящего 256кб\с, но вы можете сделать все приведенные здесь расчеты и для кабеля, и для соединений на более низких скоростях (просто необходимо вычислить разницу). Теперь выставляйте значения rate, cl_updaterate и cl_cmdrate чем выше тем лучше, потому что это позволяет вам играть в более быструю игру и что более важно это позволяет вашим пулям попадать в противника с большей вероятностью. Сейчас я объясню вам почему.

Рейт 
В теории соединение ADSL должно с легкостью поддерживать рейт в 25000. Это проверяется следующим образом:
берем значение рейта, которое измеряется в байтах в секунду и переводим его в килобайты в секунду.

25000 /1024 = 24.4140625кБ/с 

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

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

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

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

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

cl_cmdrate 
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) является следствием того, что значения рейтов которые вы используете, либо слишком низкие, либо слишком высокие.

Я рекомендую попробовать использовать эти значения: 
rate 25000 
cl_updaterate 100 
cl_cmdrate 100 
!Параметр cl_cmdrate должен быть равен параметру cl_updaterate

Если эти значения приводят к помехам или потерям, пробуйте понижать значения. Я бы попробовал так:
rate 25000
cl_updaterate 66 
cl_cmdrate 66 
!Параметр cl_cmdrate должен быть равен параметру cl_updaterate

Тем кто подключен к ADSL я бы рекомендовал использовать эти значения:
rate 25000 или rate 25000 
cl_updaterate 100 или cl_updaterate 66 
cl_cmdrate 100 или cl_cmdrate 66 
!Параметр cl_cmdrate должен быть равен параметру cl_updaterate

Тем кто подключён к дргим провайдерам, то я бы рекомендовал использовать эти значения:

rate 25000 или rate 10000 
cl_updaterate 66 или cl_updaterate 33
cl_cmdrate 66 или cl_cmdrate 33 
!Параметр cl_cmdrate должен быть равен параметру cl_updaterate

Вы можете проверить помехи и потери при помощи команды net_graph 3. Все сервера отличаются друг от друга и если вы сильно беспокоитесь на счет помех и потерь включите net_graph и подстройте ваши рейты, если не один из выше перечисленных вам не подошел.


maxigame.by

Просмотров: 1090 | Добавил: strelok | Рейтинг: 5.0/1 |
Всего комментариев: 0
Форма входа
Календарь новостей
«  Январь 2009  »
Пн Вт Ср Чт Пт Сб Вс
   1234
567891011
12131415161718
19202122232425
262728293031
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Designed by Chakl 2026