|
|
#1
Wslave @ 20.09.07 00:41 |
[пожаловаться]
|
|
Подскажите как правильно настроить контру , основные настройки какими должны быть или может ссылку где это можно посмотреть
|
|
|
#2
sovok @ 20.09.07 00:43 |
[пожаловаться]
|
|
Настройка компьютера под CS
Для комфортной игры необходимо, чтобы машина была настроена правильно.
Есть несколько основных пунктов...
1) Видео
а. Вертикальная синхронизация должна быть выключена
Вертикальная синхронизация (vsync) означает, что кадры, которые отрисовывает движок игры, синхронизируются с частотой обновления (рефрешем, refresh) монитора.
Если она выключена, то игра посылает новый кадр на монитор в тот момент когда она его просчитала, независимо от того в каком месте электронный луч монитора прорисовывает картинку на экране. В этом случае новый кадр вполне может начать прорисовываться хоть с середины экрана, из-за этого образуются характерные "разрывы" картинки, которые легко заметить, например, бегая стрейфом около ящика. Когда синхронизация включена, картинка всегда выглядит идеально. Но (!) если игра "не успевает" за рефрешем монитора, то она просто пропускает кадры, не выводя их вовсе. Таким образом, если к примеру, монитор обновляется с частотой 100 Гц то все будет нормально только в том случае, если игра рендерит 100 кадров в секунду (100 fps), но стоит fps упасть хотя бы на 1 кадр, игра будет выкидывать 49 из этих 99 кадров, дожидаясь того момента, когда монитор начнет отрисовывать картинку с верхней линии экрана, и fps падает не до 99 (не на 1 кадр), а сразу до 50 (1/2 от 100, т.е. на 49!), затем до 33 (1/3), 25 и т.д.
Проверить очень легко... Включаем счетчик fps, кидаем перед собой дым, забегаем в него и смотрим... ) Если fps падает резко, значит синхронизация включена.
Настройка: открываем "Свойства экрана" > "Параметры" > "Дополнительно".
NVIDIA >> Заходим в закладку "GeForce xxxx", пункт "Производительность и качество", ищем параметр "Вертикальная синхронизация", убираем галочку "Управляется приложением" и ставим "Всегда выключена"
ATI >> Заходим в закладку "3D". Выбираем "OpenGL", ставим галочку "Специальные настройки", затем жмем "Дополнительно" и выбираем вариант "Всегда выключена"
б. Герцовка
Чем с большей частотой обновляется экран монитора, тем меньше устают глаза и плавнее движется все на экране. Windows XP по умолчанию сбрасывает рефреш в играх до 60 Гц > Для исправления этой вредной "особенности" необходимо сделать следующее...
NVIDIA >> Выбираем пункт "Переопределение частоты развертки" ("Refresh Override") отмечаем "Разрешить" ("enable") и ставим напротив "640*480", "800*600", "1024*768" (если позволяет монитор) - 100Гц. Для 1024*768 можно поставить 85 или другой рефреш, т.к. не все мониторы поддерживают частоту в 100 Гц на этом разрешении. Это, кстати, одна из причин, почему профи редко играют на разрешениях выше 800*600.
Важно! Этот пункт меню есть в драйверах не всегда. Во-первых, его нет в старых драйверах. Во-вторых, он недоступен если версия драйвера не соответствует вашей видеокарте. Например если в компьютере установлено видео FX5xxx, а используемый драйвер предназначен для GeForce 6-й и 7-й серии, то этот пункт будет недоступен.
ATI >> Заходим в свойства монитора, "Переопределение частоты развертки", ставим 100 Гц (в данном случае частота ставится одна для любых разрешений). Особенность драйверов ATI заключается в том, что если у вас режим рабочего стола, например, 1024*768 при 85 Гц, то переопределить рефреш в играх на 100 Гц (т.е. на бОльшую частоту чем на десктопе) невозможно. Поэтому в таком случае временно меняем разрешение раб. стола на 800*600, ставим оверрайд 100 Гц и можно возвращать прежний режим. В играх все равно будет 100 Гц =)
Кроме того, есть универсальный способ, не зависящий от того какая у вас видеокарта. Можно добавить в ярлык запуска CS команду "-freq 100", и контра запустится в режиме 100 Гц. Единственное условие - необходимо, чтобы в системе был установлен драйвер для монитора. Если драйвер отсутствует (т.е. ваш монитор отображается в свойствах экрана как стандартный "Модуль подключения монитора"), то CS запустится в оконном режиме. Чтобы постаивть драйвер, идем сюда: "Свойства экрана" > "Параметры" > "Дополнительно" > "Монитор" > "Свойства" > "Драйвер" > "Обновить"
2) Мышь
а. Драйвера
На профессиональных турнирах используются исключительно стандартные драйверы Windows XP, так что на правильно настроенном компе других быть просто не должно )
б. Акселерация
Акселерация это ускорение движения мыши. Было оно придумано для повышения удобства работы при больших разрешениях рабочего стола. Заключается акселерация в том, что расстояние, на которое передвигается курсор на экране, и расстояние, на которое перемещается мышь на коврике, связаны нелинейно. Это помогает, с одной стороны, выполнять точные мелкие движения мышью, а с другой, для того, чтобы перевести курсор из угла в угол, не нужно несколько раз переставлять мышь, достаточно двинуть ее резче. Если говорить уже об играх, то чем быстрее мы ведем мышь, проводя при этом одно и то же расстояние по коврику, тем на больший угол поворачивается прицел. Такая особенность очень полезна в Quake3 и подобных шутерах, но не в КС. Здесь главное точность, чтобы перемещение прицела абсолютно точно сответствовало движению мыши по ковру. Без этого невозможна стабильная точная стрельба "фликом" (т.е. рывком, особенно это касается АВП, хотя и остального оружия в не меньшей степени), а поэтому практически все профи играют с выключенной акселерацией.
В Windows существует встроенная акселерация, которая прописана в реестре. Выключается она двумя путями:
- mousefix
- noforce-команды
- mousefix. Официально одобрен CPL (Cyberathlete Professional League). Вносит изменения в реестр Windows, активируется только после перезагрузки.
http://www.gotfrag.com/portal/files/82
- noforce-команды. Дописываются в ярлык запуска CS: -game cstrike -noforcemaccel -noforcemparms Тоже отключают аксель, не требуется перезагрузка. Способ более простой и удобный, т.к. на одном компьютере без проблем могут играть и те, кто отключает акселерацию и те, кто играет с ней. Для этого просто создается два ярлыка, один - с noforce'ами, другой - "обычный".
Кроме этого (!) есть второй источник акселерации. Галочка "Повышенная точность указателя" в свойствах мыши. Для полного отключения акселерации необходимо всегда ее отключать.
Проверяется, выключена ли акселерация, тоже легко. Ставим мышь на край коврика, плавно поворачиваемся вправо, а затем резко дергаем мышь обратно к краю, если прицел при этом оказался левее первоначального положения, значит акселерация есть...
На этом все. Играйте правильно! gl hf
Автор indy
|
|
|
#3
sovok @ 20.09.07 00:44 |
[пожаловаться]
|
|
В ентой статье я надеюсь прояснить некоторую неясность связанную с сетевыми командами в Counter Strike. Сетевой код- енто то, с чем столкнулись топовые игроки из Европы и Америки при первых боях в эру 1.3. В эру 1.5 игроки стали более внимательно и глубже изучать команды выискивая оптимальные значения. Когда же Valve решила проблему связанную с ex_interp в 1.5 мы все вздохнули с облегчением и решили- все с ентим interp'ом покончено. Однако в 1.6 споры снова вспыхнули- Valve исправила сетевой код игры. Да и сама VaC (Valve Anticheat) просто блокирует вредные, и нечестные значения команд.
Примечание:
Команды с префиксом sv_ sys_ являются серверными командами и предназначенными только для сервера. Если вы хотите же узнать их значение или изменить, их следует исполнять непосредственно на самом сервере, либо с использованием rcon пароля...
Также ента статья предназначена в основном для обладателей выделенных, высокоскоростных линий и-нета и для LAN.
Общая информация:
1)cl_cmdrate: команда определяет сколько пакетов в секунду пошлете вы, клиент к серверу. Очевидно, чем выше енто значение, тем быстрее сервер реагирует на действия которые вы совершаете (поворот мышью, прыжок, бег, стрельба и прочее). Итак, если вы на выделенке и притом оочень хорошей- то смело ставьте высокое значение. Если же вы посадили на свой DSL Cable или что там у вас ишо и своего друга- вы наверняка будете наблюдать частые и высокие скачки лага. Енто все из-за высокого значения команды. Большинство высокоскоростных доступов к и-нет не обеспечивают своего пользователя высоким upload (к примеру, большинство aDSL которые предоставляют компании- енто 768download- где-то 90КБ/128upload- где-то 16КБ), который так необходим для ентой команды.
2)cl_updaterate: енто противоположность cl_cmdrate- количество пакетов/секунду которые вы получаете от сервера (То бишь ваша download скорость). Здесь, чем выше значение, тем более вы синхронизированны с сервером. Так как только сервер решает, попадают ваши выстрелы или нет, то вам нужно большое количество обновлений информации с сервера- ради эксперимента, попробуйте поставить значение cl_updaterate в 5-10- и попробуйте убить кого. Получится интересная картина- вы будете ишо стрелять (одни выстрел например) по противнику, а на его мониторе, он вас как секнду назад завалил.
3)sv_maxupdaterate: команда контролирует количество пакетов/секунду которое позволено серверу послать клиенту. Из ентого следует что если на сервере sv_maxupdaterate "60", а на клиенте cl_updaterate "101" то клиент будет обновляться со значением cl_updaterate "60"
4)sys_ticrate: команда устанавливает количество "кадров" в секунду, которые сервер может вычислить. По умолчанию значение равно 100. Почему серверные fps так важны? А ентот параметр как раз таки и отображает, как "чусвтует себя" сервер. Мы все когда нить играли на ооочень хороших серверах что складывалосьт такое впечатление что они хостуются на Tl-83 plus и мы могли бы покляться что играем мы на LAN а не на HSI-net
sys_ticrate только присваивает максимальное значение fps которые может осилить ваш server. Но на деле сервер не может дотянуть без помощи до такого sys_ticrate- енто связано и с некоторыми процессами в самой операционной среде, но в основном из-за провайдера. Имейте ввиду, что увеличение fps "загружает" и сам процессор сервера. (Кстати такое "увеличение" каким то макаром загружает процессор по qмаксимуму на таких картах как de_inferno и de_aztec). По умолчанию сервер основанный на Win32 выдает среднее fps 64, а на Linux- 50fps. "Ускорение" сервера дает возможность получить fps выше 512 в некоторых случаях. Влияние такое высокого серверного fps достаточно спорное, но я думаю вы с легкостью заметите разницу в игре уже при 200fps.
Целостность- вот главное. Скачки fps со 100 до 512 скорее всего создадут больше проблем, так что разумным будет ограничить sys_ticrate в районе 150-200, если конечно сервер позволяет стабильно работать при 150-200.
Если у вас есть rcon пароль к серверу, вы можете с легкостью проверить серверный fps- напишите rcon stats в консоли, чтобы проверить, "ускорен" ли ваш сервер, временно поставьте значение sys_ticrate "10000" и исполните команду rcon stats. Если ваш fps выше чем 1000- значит "ускорен"
5)ex_interp(интерполяция- это восстановление значения функции в промежуточной точке по известным ее значениям в соседних точках.)
Итак, вы не можете быть синхронизированны с сервером на все 100% в каждую секунду времени, так как вы получаете ограниченное количество обновлений в секунду с сервера. Для примера: [img-right]interp.jpg" border="0"
Данный рисунок отражает линейную интерполяцию круга. Когда увеличивается количество обновлений, интерполированная фигура становится более аккуратной. В Cs данной фигурой выступает движение игрока/в секунду времени. Сервер в данном случае будет тем самым "идеальным кругом" (ведь только сервер имеет абсолютно точную позицию игрока/в кажудую секнду времени), а вот клиенту придется интерполировать между двумя "верными" пакетами.
Вот здесь и появляется ex_interp. Данная команда отражает количество времени (в секундах) для интерполяции между каждым "удачным" обновлением с сервера.Так как интерполяция относится к клиентской части, то естественно возникают неточности и ошибки в самой игре. Так как мы не можем получить 100% точности апдейтов с сервера (особенно в и-нете) то интерполяция играет важную роль в самой игре.
Рекомендации для online игр
rate:
Я практически уверен что значение 20000 будет доступно большинству высокоскоростных и-нет соединений. А вот использование значений выше 20000 может наоборот привести к снижению производительности.
Рекомендую: rate 20000
sv_maxrate:
Значение в большинстве своем равно 0. Обьясню почему это скорее всего не оптимально для online игры. sv_maxrate "0" будет определять значение rate для каждого клиента и пытаться заполнить его заполнить. Представьте что движок HL позволяет игрокам использовать значения rate выше 20000 (например 999999999999), и сервер будет пытаться заполнить все 999999999999. Енто приведет к пустому увеличению нагрузки на канал сервера. Я советую безопасное и вместе с тем хорошее значение sv_maxrate "20000". В большинстве случаев sv_maxrate 0 и sv_maxrate 20000 будут эквивалентны, но береженного бог бережет.
Рекомендую: sv_maxrate 20000
cl_cmdrate:
В идеале значение этой команды должно быть равно серверному(!- большинство людей считают что клиентским- вкорне не верно) fps. Если вы посылаете серверу пакеты чаще чем он способен обработать- (скажем серверный fps=80, а значение cl_cmdrate 101) то некоторые пакеты будут просто "скинуты" сервером, необработаны ( 101-80=21 необработанный пакет). По сути енти 21 пакета погоды не делают, просто приведут к забиванию вашего upload ( и увеличению траффика), что тоже погоды не делает.
Рекомендую: смело ставим cl_cmdrate равное серверному fps либо выше.
ex_interp:
Cтавим в 0 без размышлений. CS автоматически поставит ее значение ex_interp= 1/cl_updaterate ( в консоли увидите “ex_interp forced up to xx msec”). При значении 0, изменение значения команды cl_updaterate будет автоматически менять и значение ex_interp. Я РЕКОМЕНДУЮ МЕНЯТЬ ЗНАЧЕНИЕ ТОЛЬКО CL_UPDATERATE, ПОЗВОЛЯЯ CS поменять значение ex_interp. Вы уже не можете поставить значение ex_interp ниже чем 1/cl_updaterate, а вот ставить его выше- енто уже просто нечестно. Ставить значение выше 1/cl_updaterate приведет к тому, что вам придется стрелять немного позади модельки противника ( получается так, что вы видите проивника немного раньше чем положено). К примеру, при использовании cl_updaterate 101, верное значение ex_interp= 1/101=0.009, но по умолчанию ex_interp= 0.1 а енто выше чем 1/101- вот тут и возникает глюк...
Рекомендую: ex_interp 0- стреляем туда, куда целимся
cl_updaterate:
Бытует мнение что значение данной команды надо подбирать следующим методом: присваиваем значение cl_updaterate 101 и снижаем его до тех пор пока параметр choke ( его можно увидеть, если набрать в консоли команду net_graph 3) не будет равен 0 или ооочень низок. По мне, так choke- енто самое последнее о чем стоит беспокоиться. Правильное значение cl_updaterate- енто более глубокий вопрос чем просто choke. Значение sv_maxupdaterate на сервере для чемпов должно иметь значение 101 ( так настроен сервер для CAL CPL)- из ентого можно сделать вывод что в идеале значение cl_updaterate=101. Однако большинство серверов в online имеют значение sv_maxupdaterate "30" или просто неспособны вычислить 101 sv_maxupdaterate. Из чего следует что сервер просто неспособен послать вам 101 пакет/секунду. Так все таки какое значение? Большинство могут сказать " Я поставлю 101, а сколько дойдет- всё моё", но тут уже играет отрицательную роль высокое значение ex_interp, что нарушит баланс между этими командами.
Для того, чтобы подобрать оптимальное значение cl_upodaterate (ex_interp "0") стави его в 101 и начинаем снижать его до тех пор пока модельки игроков не будут слегка двигаться скачками ( при ex_interp 0 и cl_updaterate 101 - они будут оочень сильно пропускать). Не надо бояться ставить значение cl_updaterate ниже 50 если енто необходимо. Большинство серверов sv_maxupdaterate "30" так что cl_updaterate 30 будет лучшим значением.
Стоит отметить что начинать подборку cl_updaterate надо " сверху вниз" а не наоборот.
Рекомендую: равно серверному fps и не выше sv_maxupdaterate
sys_ticrate:
Для нахождения оптимального значения данной переменной необходимо произвести несколько экспериментов. Прежде всего, если ваш сервер не "ускорен" то значение переменной ticrate выше 100 ни к чему не приведет. Если же сервер находится на хорошей платформе (богатый провайдер), то бишь "ускоренный", у вас появляется место для полета фантазии. Не смотря на то что "чем больше серверное fps тем лучше", эффект от увеличения sys_ticrate выше 200 (а может и еще меньше) на самом деле не окажут такого уж хорошого влияния на игру. А вот использовать sys_ticrate "200" или ниже сделает игру более стабильной даже если придется пожертвовать минимальным количеством производительности. Представьте вдобавок, что компьютер, исползуемый под игровой сервер тянет аж несколько HLDS (например CS1.6 и CZ) и для обоих sys_ticrate "10000" нагрузка на процессор возможно будет черезмерной. Такое положение вещей может привести к потери производительности самой игры. В конце можно добавить, что если вы хотите получить, скажем, 140fps то вам нужно выставить значение sys_ticrate выше предпологаемого где-то на 20-50. (Например сервер может спокойно тянуть 150fps, значит значение sys_ticrate будет 150+30= 180.)
Рекомендую: sys_ticrate 110-180- зависит от качества сервера.
Слово о LAN
Повод, по которому большинство известных турниров, таких как CPL, WCG используют cl_updaterate 101- зависит от качества сервера. На таких чемпах все сервера обычно "ускорены" что делает реалным такое высокое значение cl_updaterate. Для того чтобы быстро узнать "ускорен" ли сервер, достаточно просто обратить внимание на пинг- у простого сервера, fps которого 50-60, все игроки имеют средний пинг 15ms, а вот на "ускоренном" -5 ms.
© shabash
|
|
|
#8
sovok @ 20.09.07 16:47 |
[пожаловаться]
|
|
#7, спасибо. авторам indy и shabash-у превед! еси читають :d
|
|
|
Reply | | | |
|
|
|