Страница 1 из 379 1 2 3 11 51 101 ... ПоследняяПоследняя
Показано с 1 по 10 из 3784

Тема: О тикрейте, ССС, СПД, задержке урона и немного о макросах.

  1. #1
    Маршал Аватар для BearGentleman
    Регистрация
    21.07.2013
    Сообщений
    8,498
    Лучших ответов
    17

    159

    О тикрейте, ССС, СПД, задержке урона и немного о макросах.

    Последнее время стали часто появляться темы про задержку урона, влиянии СПД, о том как вычислить макрос и т.п. Я просто хочу дать немного информации для обсуждающих, которую выявили мои друзья и я. Я правда надеялся, что такую тему в итоге создаст кто-то из моих более авторитетных и велеречивых друзей, но к сожалению текущие проблемы ВФ охладили их интерес к этому проекту и желания что-то выяснять пропало. Но если у них будет желание - они отпишутся в этой теме.

    Еще раз повторю - тема чисто информационная, обсуждать наверное здесь ничего не стоит. И так начнем.


    Тикрейт

    1. Путем несложного подсчета количества udp пакетов поступающих в адрес процесса game.exe мы выяснили, что от сервера клиенту приходит 19 пакетов в секунду, от клиента серверу отправляется 25 пакетов в секунду. На основании этого я сделал вывод, что тикрейт сервера равен 19.

    Update 07.02.2017. По информации от нашего нового товарища установлена схема 20/30, которую тестировали с полгода назад. То есть все что нам втирал один небезызвестный КМ, что тикрейт сервера теперь не 20 - полная чушь. Он так и остался 20.
    Цитата Сообщение от Donaaaaatapliz Посмотреть сообщение
    Для клиента:
    Параметры "По умолчанию(Альфа,Браво,Чарли)":
    [Канал] Кол-во пакетов в секунду = 30
    [Клиент] Скорость передачи пакетов = 30

    Параметры "Лан(тот же опенкап)":
    [Канал] Кол-во пакетов в секунду = 100
    [Клиент] Скорость передачи пакетов = 100

    Для сервера:
    Параметры "По умолчанию(Альфа,Браво,Чарли)":
    [Сервер] Максимальная частота обновления выделенного сервера = 20
    [Канал] Кол-во пакетов в секунду = 20
    [клиент] Скорость передачи пакетов = 20

    Параметры "Лан(тот же опенкап)":
    [Сервер] Максимальная частота обновления выделенного сервера = 100
    [Канал] Кол-во пакетов в секунду = 100
    [клиент] Скорость передачи пакетов = 100
    Update 07.12.2015. Случайно выяснили, что улучшение сетевой синхронизации откатили назад. Когда точно - не знаю.
    Цитата Сообщение от BearGentleman Посмотреть сообщение
    Мне тут товарищ в ютубе написал. Заинтересовался какой прогой я отслеживал входящие / исходящие пакеты. В общем замерил он вчера по моей методике... опять вернулась система 19/25.

    То есть они полностью откатили обновление с улучшением сетевой синхронизации. Печально. А я еще думаю, чего это меды опять такие опасные стали :-), а мы оказывается просто вернулись к обновлению, где было чисто улучшение урона с дробовиков.
    Update 01.11.2015 - "Обновление с зомби и улучшенным сетевым взаимодействием"

    Цитата Сообщение от BearGentleman Посмотреть сообщение
    Что изменилось: на текущий момент количество отправленных и полученных пакетов уравняли. Их стало по 27/27 в каждую сторону (раньше было 19/25).

    Размер пакетов от сервера клиенту вырос - самый маленький пакет 100 байт, самый большой 1000 байт. То есть взаимодействие клиент-сервер явно улучшили.

    Чего мы не знаем: мы не знаем изменился ли внутренний тикрейт сервера.

    Что ухудшилось: сервера игры похоже явно не справляются с возросшей сетевой нагрузкой и обработкой большего количества информации. Тут одновременно наложились два фактора - увеличение размера траффика и каникулы у школьников :)
    2. Со мной несогласен один (точнее одна) из моих самых авторитетных друзей. В своих подсчетах тикрейта она использует данные по минимальной задержке прохождения урона (визуально это отображается как разница между уменьшением счетчика патронов на один и появление креста урона). Подсчет производился на основании видео от четырех- и однопалочника. Минимальная задержка получения информации об уроне - около 100мс, средняя задержка - около 150мс. Максимальная задержка достигала уже значений около секунды, но это все-таки было редко. На основании этого был сделан вывод что тикрейт сервера приблизительно 1000мс / 100мс = 10. Эта версия отличается от моей, но обе имеют право на жизнь.

    3. Еще одна, более свежая точка зрения от нашего товарища, основанная на внимательном анализе видео:
    Цитата Сообщение от vlad190190 Посмотреть сообщение
    Итоги анализа исходников тестов от Толи(Монтера).

    Информация предварительная, основанная на статистике 1 теста, чтобы доказать ее содержательность нужно будет сделать большую выборку- провести больше тестов.

    Итак что мы имеем:
    1.Обмен информацией с сервера идет в 4 потока(предварительно)

    1 поток- информация о том как друг друга видят противники (о правильности нанесения урона)
    2 поток- информация о начале и конце какой-либо анимации персонажа
    3 поток- информация о том на сколько игрок повернут.
    4 поток- информация о координатах местоположения игрока в пространстве по осям X/Y/Z.
    И сервер может задавать этим потокам различные приоритеты.

    2. Номинальный тикрейт сервера- 10 (1 точка синхронизации в 100 мс)

    В случае "правильной" перестрелки, а конкретнее с подтверждением клиентов всех участников перестрелки, видимости прострела, 1 и 4 поток получает приоритет реального времени для сервера(обмен информацией с сервером идет во много раз чаще).
    2 и 3 потоки остаются с номинальным приоритетом.
    На анимацию противника нельзя ориентироваться вообще.

    3. Работа систем сглаживания пока не ясна, нужны дополнительные тесты.
    Но по факту 3 палочник отображался у 5 палочника с задержкой в 2-е меньшей, чем наоборот (5 палок у 3 палок).
    Скорее всего то как тебя будет видеть противник- воля случая. А конкретно на сколько близко к точке синхронизации ты сделал свое движение и с каким ускорением.

    4. Урон засчитывается ТОЛЬКО ТОГДА, КОГДА ОБА ПРОТИВНИКА ВИДЯТ ДРУГ ДРУГА.
    Если быть точнее, только если клиенты обоих игроков подтвердили что противник находится на простреливаемой части.

    5. Сервер, в зависимости (скорее всего) от загруженности ресурсов, может ставить информацию от клиента игрока в очередь, которая спокойно может достигать 1 и более секунд.

    6. Корректировке конфликтов подвергается только поток 1 и 4. (информация о простреле и информация о местоположении)
    Информация об анимации персонажа, о том в какую сторону повернут игрок, как он держит оружие НЕ КОРРЕКТИРУЕТСЯ СЕРВЕРОМ МЕЖДУ 2 КЛИЕНТАМИ.
    Грубо говоря если у себя противник смотрит вам в живот, а у вас он смотрит в небо, перекрывая руками голову. То наносить урон вы будет по рукам, а не по голове, и серверу ПОФИГ что на самом деле ваш противник не поднимал руки.
    4. Минимально комфортным играбельным тикрейтом я считаю значение - 30. И очень жду этой новости от разработчиков.


    СПД (и немного об ССС)

    1. Разработчик постарался по максимуму минимизировать объем информации от клиента-серверу и от сервера-клиенту. В результате размер входящих и исходящих пакетов очень маленький и только во время стрельбы в противника размер пакетов резко увеличивается (иногда более чем в 10 раз по сравнению с размером в то время когда ничего не происходит).

    2. Вполне возможно что здесь кроется корень проблем, возникающих именно во время перестрелок. Канал не успевает перестроиться под бОльший размер пакета. Но это только предположение.

    3. В связи с таким низким тикрейтом и малым объемом обмена информацией между сервером и клиентом основная нагрузка по отрисовке событий у вас на экране ложится на пресловутую систему предсказания движений (СПД), которая в перерывах между получением пакетов должна как-то отображать вам движения противников и союзников. Поэтому вероятность того, что противник находится именно там где вы его видите очень мала (примерно процентов 10) и вы начинаете стрелять туда, где противника нет, но к следующему тику (примерно 100мс) его положение синхронизируется с его реальным и если вы успеваете водить прицелом за перемещением противника, то вы таки его убьете.



    Задержка прохождения урона

    1. Первая причина. Несмотря на то, что для убийства бойца в превосходной броне из топовых моделей оружия нужно 4-5 выстрелов, что по времени занимает от 300 мс (для ктара например) до 500 мс (для ШВ из редкой ветки). Нам приходится выпускать от половины магазина до целого рожка. Происходит это потому что: сначала нужно чтобы модель игрока синхронизировалась с его хитбоксом - это 100-200мс, затем происходит регистрация попаданий - те самые 300 мс, затем задержка в получении информации об уроне (красный крест) - 100-300мс. В итоге мы успеваем выпустить 10-15 пуль вместо четырех. И если вы стреляете в прицеле - не надо забывать о времени вхождения в прицел - тайп например за что-то сильно обидели и время составляет 300мс в отличие от того же калаша, у которого 200мс.

    Update 06.11.2015
    Информация о синхронизации модели и хитбокса требует серьёзной проверки, поэтому прошу её не брать во внимание. По ощущениям и дополнительной информации от участников темы урон все-таки считается по модели противника, при этом только сервером проверяется, чтобы расхождение между моделью и хитбоксом не превышало заданной разработчиками дельты. И если дельта превышена, то урон не засчитывается. Эта проверка сделана видимо в первую очередь, чтобы не дать работать такому читу как "магнит", который "подтягивал" модельки противников к игроку и тот их убивал. Теперь это невозможно.

    2. Вторая причина. Это лично мое мнение (мои друзья не с каждым выводом согласны). При обсчете урона сервер ждет получения сигнала от всех бойцов находящихся примерно в одном месте. Вдруг краснопингер убил вашего противника раньше чем вы, но сигнал от вас пришел быстро, а от краснопингера он плетется со скоростью черепахи. Поэтому задержка прохождения урона очень сильно зависит от того, находятся ли рядом с вами игроки с сильно отличающимся от вашего пингом. Как следствие расчеты из п.1 можно еще увеличить.


    О макросах (точнее о том, можно ли их выявить по следам от пуль противника)

    Должен вас огорчить - отправлять в ТП видео о том, что у противника был макрос, основываясь на следах от пуль на стене - БЕСПОЛЕЗНО.

    По причинам описанным выше (малый размер пакетов и низкий тикрейт) направление стрельбы противника вам передается ПРИМЕРНО и соответственно при отображении еще накладывается результат работы СПД. То есть сервер вам сообщит только то, что противник стрелял ПРИМЕРНО ВОН В ТОМ НАПРАВЛЕНИИ.

    Как следствие - следы от пуль (дроби) на вашем экране не соответствуют реальным следам от пуль противника и что-то там рассматривать, выискивая макрос не стоит.

    Маленькое видео от Пушистой, сопровождающее наши эксперименты:
    Последний раз редактировалось BearGentleman; 07.02.2017 в 23:53.

  2. #2
    Сержант Аватар для Kroler
    Регистрация
    24.04.2012
    Адрес
    Город-герой
    Сообщений
    172
    Лучших ответов
    0

    13
    Ну очень много компьютеров доживают свой последний год в агонии, из за язвы видеокарты и цирроза процессора.

    Миру не нужны герои - ему нужны профессионалы.

  3. #3
    Маршал Аватар для BearGentleman
    Регистрация
    21.07.2013
    Сообщений
    8,498
    Лучших ответов
    17

    5
    Цитата Сообщение от megamaind Посмотреть сообщение
    Бяшешь лепо, но что нам это дает?
    Учимся читать и еще раз перечитываем преамбулу. Я даю информацию - что с ней делать - решать вам.

    ---------- Сообщение добавлено в 11:02 ----------

    Цитата Сообщение от Kroler Посмотреть сообщение
    Ну очень много компьютеров доживают свой последний год в агонии, из за язвы видеокарты и цирроза процессора.
    Да это наверное не так важно. У меня избыточная мощность для ВФ, но многие проблемы, вытекающие из моего первого поста - одинаковы что для меня что для владельца "калькулятора".

  4. #4
    Вояка Аватар для yatar12
    Регистрация
    12.02.2013
    Сообщений
    2,318
    Лучших ответов
    3

    2
    Отписываюсь - твои данные никак с расчетами Пушистой не конфликтуют, 19/25 остается рабочей теорией. Это 52-40мс. Ещё ~100мс серв ждет данных от менее шустрых клиентов и уже затем приступает к разбору полетов. Вроде этот момент разбирали :/

  5. #5
    Спецагент Аватар для egipetcaiasila
    Регистрация
    01.01.2015
    Адрес
    Биробиджан
    Сообщений
    1,195
    Лучших ответов
    1

    5
    информация, что краснопингеры имеют отношение задержкам урона меня опечалила, сейчас белопингеры начнут говорить что мол, тестированием доказано, что виноваты во всем краснопингеры, того и гляди из комнат начнут кикать, чтобы без лагов поиграть

    Другие Комарики:) (+/-)

  6. #6
    Маршал Аватар для BearGentleman
    Регистрация
    21.07.2013
    Сообщений
    8,498
    Лучших ответов
    17

    1
    Цитата Сообщение от yatar12 Посмотреть сообщение
    Отписываюсь - твои данные никак с расчетами Пушистой не конфликтуют, 19/25 остается рабочей теорией. Это 52-40мс. Ещё ~100мс серв ждет данных от менее шустрых клиентов и уже затем приступает к разбору полетов. Вроде этот момент разбирали :/
    Насколько я помню вроде бы мою версию о том, что сервер ждет инфу от задумчивых клиентов и только после этого подтверждает попадание не приняли. Или у меня уже маразм старческий :)

  7. #7
    Banned
    Регистрация
    24.06.2013
    Адрес
    г. Владивосток
    Сообщений
    948
    Лучших ответов
    2

    8
    Интересно. Я не разбираюсь в таких технических тонкостях, но логическим путем примерно это и предполагал. Спасибо за подтверждение

  8. #8
    Маршал Аватар для BearGentleman
    Регистрация
    21.07.2013
    Сообщений
    8,498
    Лучших ответов
    17

    2
    Цитата Сообщение от egipetcaiasila Посмотреть сообщение
    информация, что краснопингеры имеют отношение задержкам урона меня опечалила, сейчас белопингеры начнут говорить что мол, тестированием доказано, что виноваты во всем краснопингеры, того и гляди из комнат начнут кикать, чтобы без лагов поиграть
    Ну давай так. В любом случае - обсчет попаданий одновременно от игроков с сильно отличающимся пингом - это серьезная проблема. В ВФ она худо-бедно решена, но к сожалению идеального решения не существует.

  9. #9
    Banned
    Регистрация
    24.06.2013
    Адрес
    г. Владивосток
    Сообщений
    948
    Лучших ответов
    2

    2
    Цитата Сообщение от egipetcaiasila Посмотреть сообщение
    информация, что краснопингеры имеют отношение задержкам урона меня опечалила, сейчас белопингеры начнут говорить что мол, тестированием доказано, что виноваты во всем краснопингеры, того и гляди из комнат начнут кикать, чтобы без лагов поиграть
    Себя пусть кикнут)

  10. #10
    Спецагент Аватар для egipetcaiasila
    Регистрация
    01.01.2015
    Адрес
    Биробиджан
    Сообщений
    1,195
    Лучших ответов
    1

    3
    Цитата Сообщение от BearGentleman Посмотреть сообщение
    Ну давай так. В любом случае - обсчет попаданий одновременно от игроков с сильно отличающимся пингом - это серьезная проблема. В ВФ она худо-бедно решена, но к сожалению идеального решения не существует.
    Ну так я и говорю печально, что невольно являюсь источником проблем у других игроков. По этому жду сервер на дальнем востоке.
    P.S. но играть не брошу

    Другие Комарики:) (+/-)

Страница 1 из 379 1 2 3 11 51 101 ... ПоследняяПоследняя

Ваши права

  • Нельзя создавать новые темы
  • Нельзя отвечать в темах
  • Нельзя прикреплять вложения
  • Нельзя редактировать свои сообщения