FantoM Опубликовано 16 января, 2012 Поделиться Опубликовано 16 января, 2012 Рейты (rates)Многие люди часто спрашивают что такое рейты, какие значения использовать и т.п Я думаю написание руководства, объясняющего что все это значит, поможет многим людям. Чтобы потом люди не говорили какие значения использовать, не понимая что они означают на самом деле.Определение.Начнем с определений:Rate (Рейт) - это максимальный предел байт в секунду который сервер может послать клиенту.cl_rate - определяет максимальный предел байт в секунду который клиент может послать на сервер. (Вам не нужно беспокоится об этом параметре)cl_cmdrate - число раз в секунду которое клиент информирует сервер о своих действиях.cl_updaterate - это сколько раз в секунду сервер говорит клиенту что происходит на карте.Я предполагаю, что большинство людей использует ADSL или кабель и здесь я буду рассматривать ADSL в качестве примера и исходя из этого я предполагаю, что скорость входящего потока у всех 512кб\с и скорость исходящего 256кб\с, но вы можете сделать все приведенные здесь расчеты и для кабеля, и для соединений на более низких скоростях (просто необходимо вычислить разницу). Теперь выставляйте значения rate, cl_updaterate и cl_cmdrate чем выше тем лучше, потому что это позволяет вам играть в более быструю игру и что более важно это позволяет вашим пулям попадать в противника с большей вероятностью. Сейчас я объясню вам почему.РейтВ теории соединение ADSL должно с легкостью поддерживать rate в 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 и мой rate равен 25000 в теории каждое обновление может содержать до 250байт данных (25000 / 100 = 250). Повторюсь чем больше данных вы сможете получить за обновление, тем более четко вы будете видеть игровой мир (это не означает что игровой мир будет более четким, а означает то, что ваши пули будут более четко попадать в цель). В версии 1.3 было вычислено, что когда у вас на экране происходит много действий, вы можете использовать 175байт на обновление. Таким образом если у вас высокий updaterate, вам нужен соответствующий ему высокий rate.Используя данные из CS1.3 если у вас updaterate = 100, ваш rate должен быть равен по крайней мере 17500, но лучше иметь небольшой запас. Я рекомендую значение 20000 как минимум (чтобы определить какое значение выбрать для вашего rate возьмите ваш cl_updaterate и умножьте его на 175, а затем прибавьте к полученному значению еще хотя бы 2000 для страховки).cl_cmdratecl_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 20000cl_updaterate 100cl_cmdrate 100Если эти значения приводят к помехам или потерям, пробуйте понижать значения. Я бы попробовал так:rate 14000cl_updaterate 70cl_cmdrate 70Вы можете проверить помехи и потери при помощи команды net_graph 3. Все сервера отличаются друг от друга и если вы сильно беспокоитесь на счет помех и потерь включите net_graph и подстройте ваши рейты, если не один из выше перечисленных вам не подошел.Найдите соединение которое наиболее близко к вашему и попытайтесь применить к нему одни из приведенных ниже рейтов.для 576k и 1mb ADSL я бы использовал:rate 20000cl_updaterate 90cl_cmdrate 101для 600k и 1mb Cable я бы использовал:rate 25000cl_updaterate cl_cmdrate 101ПРИМЕЧАНИЕ - Ваша скорость отправки (upload) не зависит от скорости приема (download). Ваш cl_updaterate - это количество данных которое вы посылаете. Следовательно ваш cl_updaterate не должен быть таким же высоким как cl_cmdrate. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.