Показать сообщение отдельно
Старый 03.01.2011, 20:04   #10
Nikret
Старожил
 
Регистрация: 10.03.2007
Имя: Никита
Сообщений: 3,272
Поблагодарил(а): 585
Получил(а): 737 "Спасибо" за 350 сообщений
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Репутация: 770 Nikret у всех на устахNikret у всех на устахNikret у всех на устахNikret у всех на устахNikret у всех на устахNikret у всех на устахNikret у всех на устах
Награды (10) За Флуд в ДСП Репортер Новогоднего турнира #2 Координатор Новогоднего турнира #2 Судья Новогоднего турнира #2 Администратор Новогоднего турнира #2 Инквизитор 
Exclamation Проблемы с попаданиями и регистрацией

Вопрос:
Цитата:
Дело в том, что часто сталкиваюсь со следующей проблемой: стреляя в противника со 100% уверенностью, что попаду, пуля часто проходит мимо. Только не нужно говорить, что я нуб и так далее. Тут дело не в нубстве, просто когда я мажу - я знаю, а когда должно попасть - я тоже знаю. То есть обычно попадает нормально, а потом вдруг раз и не попало. Это происходит довольно часто и от этого очень неприятно. Из собранных мною сведений я понял, что тут играет роль твой интернет, интернет противника, конфиги, рейты и так далее, тому подобная муть в которой я разбираюсь чуть более, чем нихуя (сорри за мат). Я так понял, что тенденция в этом заключается примерно в следующем: если допустим у меня пинг 50, а у противника 20, то в него не попадает таким образом довольно часто, то есть если у противника меньше твоего пинг, то у него преимущество (обычно я играю на русс-серверах, там у меня пинг 25-40, то есть довольно хороший). Естественно с игроками у которых пинг "5" проблемы такие-же. Иногда же и того чуднее бывает. Порой начинается то, что попадания идут просто на ура, то есть стреляешь вроде как обычно, вроде не особо точно, но хедшоты и просто попадания идут только так. Вот как это объяснить я не пойму? Причем эта проблема у меня не только с ДоДом, но и с КСом. Правда с КСом все-таки полегче, там более стабильно, что ли. А в ДоДе бывает ну просто невыносимо с винтарем, а бывает наоборот - идеально все попадает, как по заказу (хотя это более редко). Объясните мне в чем это заключается и можно ли как-то стабилизировать это все. Я конечно понимаю, что существует еще рандом и еще куча факторов, но все-таки рандом бывает не постоянно.
Играю я на обычных настройках, только цвет прицела белый, а в остальном совершенно не разбираюсь.
Ответ от alkota:
Цитата:
причин может быть много
1. гамно тырнет, т.е. потери пакетов (loss), вывод - отымей провайдера в любой позиции и требуй так сказать трушный тырнет
2. сетевой код движка Source хорош тем, что пинги не влияют на регистрацию попадания, но в то же время сам движок очень требователен к железу как игрока так и сервера
и если сервер не справляется то игрок начинает получать пустые пакеты от сервера - choke и компутер самого игрока начинает обсчитывать попадания на основании кривых данных и соответственно сервер не верит данным приходящим от такого игрока и не зачитывает попадание
вывод меняй сервер обитания, нервы дороже
кстати вопрос на каком сервере наблюдается сие безобразие?
(серверы 32/32 настоятельно не рекомендуются к посещению)

сетевые настройки я тебе рекомендую такие

cl_updaterate 60
cl_cmdrate 60
rate 30000
cl_interp_ratio 1
cl_interp 0.033333333333333333333333333

но еще можно и отключить интерполяцию (интерполяция отвечает за нелагание/телепортирование противников с низкофпсными компутерами, т.е. твой компутер какбе дорисовывает траекторию движения противника, если он в "режиме вкл/выкл", штука полезная, но сервер также не всегда верит игроку который выстрелил в эту самую интерполяцию)

отключается вот таким несложным биндом

bind "KP_MINUS" "cl_interp 0, cl_interp_ratio 0"

и включается обратно следующим

bind "KP_PLUS" "cl_interp 0.03333333333333333333333333, cl_interp_ratio 1"
Проблема:
Цитата:
да вроде (с интернетом) норм, хотя быть может и действительно в этом проблема.
Решение от alkota:
Цитата:
net_graph 3 и отмониторь по графику есть ли потери
Проблема:
Цитата:
спасибо (за консольные команды) попробую, интересно, эти команды и для КСа же вроде подходят? :-)
Решение от alkota:
Цитата:
здесь есть одна дилемма сервер должен быть настроен на разрешение нулевой интерполяции, т.е. показатель lerp всё на том же net_graph должен стать нулевым, если lerp не становится нулевым, а только лишь меняет свой цвет, лучше верни всё обратно до белого
вообще lerp нужно подбирать минимальный, но в то же время он должен остаться белым
Замечание от Ork:
Цитата:
желтый - это плохо. Надо подбирать параметры так, чтоб лерп был как можно меньше и белого цвета. В противном случае при движении игроков их модели не совпадают с хитбоксами. Стреляй сколько угодно в модель - никогда не попадешь. Как правило лерп 20, 30 - стабильно белый.
а по потерям наверное лучше посмотреть по нет_графу 1, в нижней строке есть loss и choke. Они должны быть равны 0, так как это и есть количество потеряных пакетов.
Вопрос:
Цитата:
Знаю, что не одинок. Но понять хочется. Куда деваются мои честно нацеленные в соперника пули.
Ответ от PuZo:
Цитата:
Это замечательно. У меня раньше тоже не региось, потом просто забил, стал играть более аккуратно. И вроди все отошло. Вообще бывают ОГРОМНЫЕ глюки с коннектом, когда рельно высаживашь с гаранда в упор обойму, парень разваорачиваетья и убивает. Просто надо к этому привыкнуть и воспринимать как должное. ДА ЗДРАВСТВУЕТ ЛАН!
Комментарий от Maj. Konig:
Цитата:
Менять это: cl_interp_ratio=,1 cl_smoothtime=cl_interp?
Если при этом cl_interpolate 0, cl_smooth 0 играться можете с двумя вышеуказанными переменными до второго пришествия, это не даст ровным счетом ничего. К томуже cl_smoothtime выставляется в зависимости от пинга а не от cl_interp. Плюс ко всему как правило в большинстве случаев непопадание связано с плохим коннектом по вине вашего провайдера, плохо настроенным сервером на котором идет игра, форсированием сетевых настроек сервером не по евроконфигу (многие не дают понижать рейты и если у вас плохой коннект и большой пинг - вы в ж...е). Другими словами - большие чоки и лоссы, если у вас они по 0 а при перестрелке вы все-равно не попадаете - то возможно при перестрелке у вас падает fps и соответственно понижается cl_cmdrate - как итог появляются чоки с лоссами и в таком случае причина плохого попадания в стабильности вашего fps.

P.S. Я никогда не променяю свой шаманский бубен на вашу шляпу

cl_cmdrate зависит от fps если fps_max = 60 то ставить cl_cmdrate 100 - бред сивой кобылы - выше количества fps он не поднимется. В итоге будет около 40 чоков по нетграфу.

Если углубляться в теорию - сервр передает информацию фреймами, cl_cmdrate сколько фреймов в единицу времени получаешь от сервера. Если пакеты с фреймами передаются клиенту а видеоплата и проц не могут их обсчитать и вывести на монитор - куда эти фреймы деваются? Коту под хвост, ищите их там... Если в секунду получено 100 фреймов, а на мониторе 30 fps в секунду стабильно как ты можешь увидеть остальные 70? А никак чоки...

P.S. На самом деле все конечно несколько сложнее и предложенная схема немного примитивна... Но я и не собирался делиться тут своим шаманским бубном
Комментарий от Maj. Konig:
Цитата:
cl_smooth 0 - разрешение "сглаживания" движений в игре за счет добавления фреймов и увеличивает фпс, если оно на 0 то cl_smoothtime не будет работать.

cl_smoothtime выставляется относительно пинга если пинг 90 то cl_smoothtime 0.09

rate - определяет ширину вашего канала может быть форсирована сервером (например по евроконфигу от 30000 до 8000)

cl_cmdrate - число фреймов в секунду которые передаются от сервера к клиенту (форсируется евроконфигом от 100 до 30) - зависит от fps при падении fps - падает и cl_cmdrate

cl_updaterate - число фреймов в секунду которые передаются от клиента серверу. Взаимосвязана с cl_cmdrate и в идеале должна относится к ней как 3\2 - например cl_cmdrate 50 cl_updaterate 30 потому, что серверу не нужно получать от клиента столько же информации сколько отправлять. Форсируется евроконфигом от 100 до 30 и плюс к тому форсируется разница между этими двумя переменными она не может быть больше 30, иными словами если вы вставили cl_cmdrate 100 а cl_updaterate 10 то cl_updaterate будет увеличен автоматически до 70.

cl_interpolate - включает отключает интерполяцию 1 - включить 0 - выключить.

cl_interp_ratio - делитель в выражении cl_updaterate\cl_interp_ratio = cl_interp. Эта переменная может иметь только два значения по евроконфигу 1 или 2 по дефолту - 2 если у вас стоит какой нибудь бред типа 0.06 то переменная форсируется до 1.

cl_interp - вычисляется автоматически исходя из вышеизложенного

fps_max - максимально допустимое значение фпс - не имеет смысла ставить его больше чем максимальный cl_cmdrate, да 200 fps никогда никому не помогут играть

Плюс ко всему есть рефрешь монитора в Hz то есть сколько раз монитор моргает в секунду на LCD мониторах от 60 до 75. Соответственно врядли экран успеет моргнуть в секунду столько же раз сколько fps выведет ваша видеоплата и процессор

Просто учитывайте это настраивая игру как подстраиваться под рефреш моника и лагокомпенсацию рассказывать не буду и так с вас хватит... Только не путайте фреймы которые отправляет сервер клиенту это не тоже самое что выводит как 1 fps видеоплата, а 1 hz монитора вовсе не равен 1 fps видеоплаты
Возражение от PuZo:

Цитата:
Ты с движком ку3 не сравнивай цмд рейты по моему от фпс не зависят. А вот апдейты да.

"cl_updaterate - число фреймов в секунду которые передаются от клиента серверу"

От сервера к клиенту

"Плюс ко всему есть рефрешь монитора в Hz то есть сколько раз монитор моргает в секунду на LCD мониторах от 60 до 75"

Поэтому всеже лучше ставить фпс в герцы (может и брет а может и нет) а вообще лучше ставить фпс макс в 91 или в 90 т.к. при большем фпс могут быть баги с автоматикой (типо ассечки) хотя может эту багу поправили, всеравно рекомендую ставить фпс макс равному герцовке вашему монитору

"лагокомпенсацию рассказывать не буду и так с вас хватит"

Лагокомпенсацию ты никак не настроишь, она стоит на сервере постоянно (отрубаеться только на ланах) и из-за этого если вы все с пингами 50 а против вас играет один перец с пингом 180 сервер пытаеться все уровнять и лагать начинает всех. Уж такой говенный сетевой код в сурсе.
Возражение от sss22:

Цитата:
1. делают обычно наоборот 50/30 – так, как обычно стоит задача видеть, куда стреляешь, иначе будут частые ранения, а нужны фраги.
2. кто-то ограничивает фпс, кто-то никогда этого не делал и стреляет отлично.
Из своего опыта скажу, что фпс выше 100, мне никогда не мешал (играю на ЛСД мониторе, где макс 75), а вот если я ограничу до ста или 75, то начинаются подлагивания изображения. И насколько мне известно, если уж так хочется поставить, то нужно ставить fps_max /+1 frame.
3. «как подстраиваться под рефреш моника и лагокомпенсацию рассказывать не буду и так с вас хватит...» - можно было сказать так: - «а самое главное, я вам никогда не расскажу.»

2 Пузо зависит от фпс онли цмд - запусти дод наконец и поставь fps_max 50 - увидишь, что cmdrate станет максимум 50, надеюсь
Комментарий Maj.Konig на возражения:

Цитата:
ну ты поиграй со значением fps_max и сам все увидишь в любом случае так как отношение cl_cmdrate к cl_updaterate форсируются то в итоге при падении фпс все-равно нихрена хорошего не будет

Насчет герцовки монитора еще раз обратите внимание 1 герц не равен 1 фпс за одно моргание на монитор выводится вовсе не 1 фрейм Поэтому включите в настройках видеоплаты тройную буфферизацию, и у вас будет нормально выводиться половина первого фрейма второй фрейм и начало третьего. То есть fps_max теоретически можно ставить от 121 до 151 на LCD мониторах, а практически нет смысла ставить его больше 101 При двойной буфферизации картинка на мониторе двигается рывками и по экрану бывает проходят "волны" при разворотах в игре.

В общем просвещайтесь : http://whisper.ausgamers.com/wiki/in...l_interp_ratio

P.S. Напоминаю... не регится у вас, у меня все отлично регится
Общие рекомендации: нет - ответ исчерпывающий.
__________________

Nikret вне форума