Главная | Мой профиль | Выход | RSS
[

Профиль
ИнформацияУправление
Сегодня: 28.11.2024, 04:21
У вас новых личных сообщений · Мой профиль | Выход




  • Страница 1 из 1
  • 1
Рейты (Rates)
PaNiKДата: Суббота, 06.06.2009, 01:36 | Сообщение # 1
Генералиссимус
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 1
Статус: Offline
Определение. Начнем с определений:
Rate (Рейт) - это максимальный предел байт в секунду, который сервер может послать клиенту.
rate - определяет максимальный предел байт в секунду, который клиент может послать на сервер.
cl_cmdrate - число раз в секунду которое клиент информирует сервер о своих действиях.
cl_updaterate - это сколько раз в секунду сервер говорит клиенту, что происходит на карте.
На каждом серваки рейты свои(100, 66 или 33) этот вариант для нашего.
Грубо говоря рейты это кол-во инфы, которой вы с сервером обмениваетесь.Если сервак тянет 100, а у вас стоит 30 и вы всех кладете, не считайте себя батей, возможно вы у остальных игроков лагаете или в вас просто не попасть из-за этих самых рейтов.Плюс на мелких рейтах есть такая маза, что мона стрелять рядом с телом и делать хэд+рай для рандомщиков.Играя на высоких рейтах вы тренете свой скилл.
Я предполагаю, что большинство людей использует 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_cmdrate
Далее изменяем значения команд 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) является следствием того, что значения рейтов которые вы используете, либо слишком низкие, либо слишком высокие.
ПРИМЕЧАНИЕ - Ваша скорость отправки (upload) не зависит от скорости приема (download). Ваш cl_updaterate - это количество данных, которое вы посылаете. Следовательно, ваш cl_updaterate не должен быть таким же высоким как cl_cmdrate.
Помехи (сhoke) случаются, когда сервер собирается послать данные клиенту, но не может, потому что клиент еще не готов принять эти данные (основывается это на настройках клиентского рейта (rate) или серверовского sv_maxrate). Некоторые вещи, такие как клиентский рейт слишком низкий для данного числа игроков на сервере, само собой приводят к потере. Другие вещи не всегда, но тоже могут привести к потере, такие как когда клиент поднимает значение cl_updaterate слишком высоко.На этом думаю всё, сдесь достато4но все-го 4то-бы понизить пинг на норм.
Ну вот вроде и все =) хД
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2008-2009 The Gold Five.
Дизайн создан кланом T.G.F
Сайт управляется системой
Все права защищены.
При полном или частичном использование материало с сайта
сылка на сайт обязательна!!!
Нарушение авторского права приследуется законом, статья 146 Р.Ф