Jump to content

Нагрузка cpu в рейде и оффлайн с\без ботов


Recommended Posts

У меня несколько вопросов к разработчикам касательно нагрузки на процессор:

1) Используются ли ресурсы процессора игроков для обработки поведения ботов в рейде (для уменьшения нагрузки на сервера)?

2) Если ответ на вопрос 1 отрицательный - почему в рейде нагрузка на процессор значительно выше, чем в оффлайне без ботов?

3) Почему при наличии известной проблемы оптимизации игры, в частности повышенная загрузка одного физического ядра процессора при неполной (неравномерной) загрузке остальных - ничего не делается в этом направлении? 

Приведу для примера несколько скриншотов, где показана нагрузка процессора и статистика фпс с временем кадра:

Карта берег оффлайн без ботов:

Скрытый текст

1752799668_DesktopScreenshot2019_12.20-02_27_15_68.thumb.png.45ebc958864ec8023d3d9feca57db3e9.png

Карта берег онлайн:

Скрытый текст

1837582593_DesktopScreenshot2019_12.20-01_08_49_98.thumb.png.b4360f897f775919b98b3fd4c4e3a34b.png1150254804_DesktopScreenshot2019_12.20-01_09_05_74.thumb.png.9c14dccd3348cba512ec626da29c995a.png587993627_DesktopScreenshot2019_12.20-01_09_13_55.thumb.png.37ac655be07860f1ed042d9477500fc9.png

 

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

 

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

 

Link to post
Share on other sites
33 минуты назад, eewww сказал:

1) Используются ли ресурсы процессора игроков для обработки поведения ботов в рейде (для уменьшения нагрузки на сервера)?

Это как типа биткойны майнить? Не используется. 

34 минуты назад, eewww сказал:

2) Если ответ на вопрос 1 отрицательный - почему в рейде нагрузка на процессор значительно выше, чем в оффлайне без ботов?

Потому что расчетов в онлайн игре больше. Боты, челоботы, ЧВК.

35 минут назад, eewww сказал:

3) Почему при наличии известной проблемы оптимизации игры, в частности повышенная загрузка одного физического ядра процессора при неполной (неравномерной) загрузке остальных - ничего не делается в этом направлении? 

Почему это считается проблемой? У меня фпс monitor показывал другую картину. Постоянно загруженное ядро менялось попеременно с другими. 2-3 загружалось до 70-75%, четвертое до 50%. Примерная картина и у тебя. С какого перепугу загрузка ядер должна быть равномерной?

Link to post
Share on other sites

Ответ на первый вопрос - Используется, конечно же. Банально это можно проверить на пустой Фактори в Оффлайне(на моей системе это почти стабильные 120 фпс), а потом запустить эту же оффлайн фактори, но с ВЫСОКИМ числом ИИ. И увидеть, что в отдельные моменты большого количества НПЦ счетчик фпс улетает ниже 40.

Ну и при этом сохраняется "картина маслом" - ГПУ(1060) загружена на 40-70%, а ЦПУ(1700й в 3.8ггц) на процентов 20-25(один поток стоит раком, еще 2-3 на 70%, остальные чилят). При этом, что вот лично мне интересно. Если отключить СМТ(двупоточность у каждого ядра), сделав конфиг 8 ядер - 8 потоков, то Тарков начнет изрядно фризить, хотя картина загрузки потоков остается той же самой.

Edited by MaxeliusK
Link to post
Share on other sites
12 часа назад, Mangy сказал:

Почему это считается проблемой? У меня фпс monitor показывал другую картину. Постоянно загруженное ядро менялось попеременно с другими. 2-3 загружалось до 70-75%, четвертое до 50%. Примерная картина и у тебя. С какого перепугу загрузка ядер должна быть равномерной?

Если внимательно посмотреть на предоставленные мною скриншоты, то проблема становится очевидной - при полной или почти полной загрузке одного ядра, в игре начинаются микрофризы и подлагивания. Они видны на графике времени кадра слева вверху. У меня загруженное ядро местами не меняется - оно на всех скриншотах одно и тоже. Если обратить внимание на загрузку процессора оффлайн без ботов - все ядра нагружены равномерно, при этом никаких проблем с фризами нет от слова вообще. НО, стоит добавить ботов или выйти онлайн, где боты есть - одно из ядер нагружается ЗНАЧИТЕЛЬНО сильнее, чем остальные, при этом начинаются описанные проблемы. Если тебе удобно играть с просадками фпс до 40, это твое дело, ты же игрок от бога:

 

 

Edited by eewww
Link to post
Share on other sites
3 часа назад, MaxeliusK сказал:

Ответ на первый вопрос - Используется, конечно же. Банально это можно проверить на пустой Фактори в Оффлайне(на моей системе это почти стабильные 120 фпс), а потом запустить эту же оффлайн фактори, но с ВЫСОКИМ числом ИИ. И увидеть, что в отдельные моменты большого количества НПЦ счетчик фпс улетает ниже 40.

У меня же фпс почти стабильный 75, НО при этой кривой нагрузке на одно ядро у меня появляются микрофризы и подлагивания. Но суть проблемы у нас идентичная - какие то кастыли с оптимизацией этих самых ботов или что то, что с ними связано.

3 часа назад, MaxeliusK сказал:

Если отключить СМТ(двупоточность у каждого ядра), сделав конфиг 8 ядер - 8 потоков, то Тарков начнет изрядно фризить, хотя картина загрузки потоков остается той же самой.

Еще одно подтверждения кривой оптимизации игры под многопоточность. Хотя я и не перевариваю всякие там рузены амдышные, но я уверен на 95%, что мощи у него достаточно для нормальной работы таркова, только вот она не используется или используется не так. Некоторые товарищи вот, умудряются играть на разогнанном в хлам i7-4790К, у которого всего 4 яйца, при этом не брезгуя фуллашди и стримами, только вот неплохо бы ему запустить еще график времени кадра в RTSS, как у меня показано, чтоб мы видели какие там есть фризы и лаги.

 

 

Link to post
Share on other sites

Еще добавлю в эту тему такую инфу, может кому то она будет полезна - перед каждым запуском таркова я очищаю полностью оперативку от кешированного хлама, т.к. у меня отключен фаил подкачки. У меня 16 гб памяти и 2 отдельных ССД под систему и под игру, и считаю что гробить ссд файлом подкачки не нужно. Вот ролик на ютубе, который вам пояснит, почему нужно очищать рам перед запуском таркова:

 

Link to post
Share on other sites
15 часов назад, eewww сказал:

Если тебе удобно играть с просадками фпс до 40, это твое дело, ты же игрок от бога:

🤣 Я еще раз напишу, с g-sync я не вижу разницы между 40 фпс и 120. Ну, и само собой во время стрима видеокарта нагружается, казалось бы незначительно, но вот производительность при этом хромает. Поэтому маститые и стримят через второй комп.

  • Sad 2
Link to post
Share on other sites
1 hour ago, Mangy said:

я не вижу разницы между 40 фпс и 120

Правду говорят, что человек больше 24 кадров в секунду не различает!

  • Upvote 1
Link to post
Share on other sites
1 час назад, koderr сказал:

Правду говорят, что человек больше 24 кадров в секунду не различает!

Тут другой случай. 😁

Предлагаю ознакомится с технологией g-sync.

Link to post
Share on other sites
6 часов назад, Mangy сказал:

🤣 Я еще раз напишу, с g-sync я не вижу разницы между 40 фпс и 120. 

Уважаемый эмиссар, ты вообще тему читал? Я тут не про фпс (для этого есть отдельная тема), а про лаги при загрузке одного ядра процессора. Или у тебя лаги g-sync тоже сглаживает?

Link to post
Share on other sites
В 20.12.2019 в 05:31, eewww сказал:

У меня несколько вопросов к разработчикам

Знаете, я и сам своего рода учёнразработчик. 000.png.a1cf53972d8d937c151022658ffac9bc.png Не разработчик EFT, конечно.

На все вопросы так и напрашивается ответ в стиле.

Ну а если серьёзно, то можно помечтать гипотетически (т.к. по правилам обсуждать код игры и её уязвимости нельзя -- ну так мы ни про первое, ни про второе не знаем, верно ведь?).

Майнинг здесь совсем ни при чём, это можно было бы назвать распределёнными вычислениями, но тоже не совсем оно -- ни прямой коммерческой выгоды, ни коллективного решения какой-то одной задачи нет, строго говоря. Обычное перекладывание части нагрузки с сервера на клиент. Вполне применимо к онлайн-игре в идеальном мире розовых пони, где нет читеров и хакеров. В нашей реальности -- не очень из-за проблем безопасности.

Вообще, мало-мальски сносного шкурацелауженеплохо можно наваять на конечных автоматах aka finite-state machine. Такие боты были, например, в Q3 1999-го года, на конечных автоматах и нечёткой логике (FSM и fuzzy logic). Грубо говоря, бот в зависимости от текущей ситуации (хелсов меньше столько-то, патронов, столько-то и т.д.) переходил из одного состояния в другое: Стоять, Атаковать, Преследовать, Отступать, СобиратьНиштяки и проч. Они даже умели делать рокетджампы (!), когда надо было быстро попасть на высокую платформу.

В идеале не только ИИ обрабатывается на сервере, но и физика. Т.е. сервер знает начальные координаты, ему от клиента приходит команда "игрок нажал ВПЕРЁД", сервер просчитывает ускорение и всё прочее, отвечает клиенту смещением от предыдущей позиции, вектором скорости и прочим, что положено клиенту знать. Клиент двигает модельку соответственно. Так делает та же квака 3, например. Таким образом сразу отлетают спидхаки, телепорт-хаки, хаки полёта.

А с воллхаком бороться можно, просчитывая на сервере видимость игроков друг друга, и посылая на клиент информацию только по тем, кого он видит. Это вычислительно затратно (если покряхтеть, то можно оптимизировать), но реализуемо.

Link to post
Share on other sites
9 часов назад, koderr сказал:

Знаете, я и сам своего рода учёнразработчик. 000.png.a1cf53972d8d937c151022658ffac9bc.png 


Интересный pdf про ботов, как нибудь потом почитаю. По поводу майнинга - я ничего подобного в своем посте не говорил, это просто эмиссар Вова насмотрелся в убежище на ферму биткойна на видеокартах, и теперь решил блеснуть эрудицией в этом вопросе. А по факту - даже если бы игра и майнила монеро (или любой другой скам на ваш вкус) для разрабов и это не мешало бы моему игровому процессу - я был бы не против. Но проблема в том, что добавление даже малого количества ботов в оффлайн дает значительную нагрузку на одно конкретное ядро процессора. Вот скриншот с берега, добавлено мало ботов:

Скрытый текст

945814258_DesktopScreenshot2019_12.22-01_17_32_42.thumb.png.6b174b351869244a4155e0fb8e1692a4.png

 То есть, независимо от того, добавлено мало, как в онлайне или много ботов - одно ядро грузится очень сильно, почти на максимум. Если бы проблема была в том, что при добавлении моделей ботов на карту их нужно процессору обрабатывать в плане графики или физики (несмотря на то, что они на другом конце карты и не в зоне прямой видимости) - то нагрузка хотя бы была пропорциональна этому самому числу ботов. И ДАЖЕ, если это так, и процессору нужно там обрабатывать еще какие то процессы, когда на карте есть боты и другие игроки - в чем проблема распределить эту нагрузку РАВНОМЕРНО между остальными ядрами или как то оптимизировать ? Ведь проблема с микрофризами и лагами у меня именно по этой причине. Я буквально недавно делал апгрейд процессора, чтобы получить стабильные 75 кадров в бомжатской графике и разрешении 1280х1024, при том что проц у меня не самый плохой и его ставят даже на RTX видеокарты. По сути, даже если бы проблема была в каких то просадках фпс в таком сетапе - хрен с ним, но иметь лаги и микрофризы на моем железе - извините, но это уже ВАШ косяк, уважаемые разрабы, так что не спешите с добавлением новых фич, которые вам там наплели на подкасте - лучше займитесь нормально оптимизацией игры, а то у меня реально нервы не вывозят играть в такое.

Link to post
Share on other sites
20 часов назад, eewww сказал:

Уважаемый эмиссар, ты вообще тему читал? Я тут не про фпс (для этого есть отдельная тема), а про лаги при загрузке одного ядра процессора. Или у тебя лаги g-sync тоже сглаживает?

Учи матчасть. И, да, g-sync выведет частоту монитора под фпс, а это и есть то, что ты спрашиваешь.

Link to post
Share on other sites
12 hours ago, eewww said:

в чем проблема распределить эту нагрузку РАВНОМЕРНО между остальными ядрами

Потому что хорошо запрограммировать мультитрединг значительно сложнее, чем однопоток, очевидно же.

12 hours ago, eewww said:

скриншот с берега, добавлено мало ботов

Орда, "Невозможная" сложность, "Война диких" на Заводе 😄 (фпс от 30 до 60, лул)

Spoiler

image.png.95f0193782c8e7c9cd2326039750f537.png

 

Edited by koderr
Link to post
Share on other sites
9 часов назад, koderr сказал:

Потому что хорошо запрограммировать мультитрединг значительно сложнее, чем однопоток, очевидно же.

И тем не менее, если на карте нет ботов - все процессоры нагружены почти одинаково. Почему же тогда нельзя равномерно распределить нагрузку и при наличии ботов, в онлайне?

9 часов назад, koderr сказал:

Орда, "Невозможная" сложность, "Война диких" на Заводе 😄 (фпс от 30 до 60, лул)

О чем этот скриншот должен поведать? Укажи для начала хотя бы свой процессор, хотя насколько понятно из графика это 6 ядерный с 2 потоками на ядро. И опять же видно, что одно из ядер (если сложить нагрузку двух виртуальных ядер, на которые оно разбито) нагружено значительно сильнее остальных. То, что у тебя фпс от 30 до 60 тоже мне ничего не говорит без параметров графики, разрешения, и хотя бы того - какая у тебя вообще видеокарта. Да и не в фпс тут дело, а в том что я тут уже 10 раз повторяю - лаги и фризы, которые видны на графике времени кадра в программе RTSS. У меня вот, например, тоже стабильно 78 кадров рисует, но при это у меня без ботов лагов нет ВООБЩЕ, а если добавить даже мало ботов, то на берегу уже видны рандомные микрофризы, и как видно на скриншоте - вся причина в этой дефективной нагрузке на одно ядро из 6 доступных.

Вообще странно, что эта тема заинтересовала так мало людей - неужели у всех все нормально в плане фризов и лагов? Или тут у всех поголовно 9900К+2080ti может быть, и у них по определению не может быть лагов, даже если эта игра была бы написана на javascript? Просьбе хотя бы сделать скриншот нагрузки своего процессора в рейде, чтобы немного была видна картина, а то я тут один накидал скриншотов, рассказов - а ответов от разработчиков тут, походу, не предвидится.

Link to post
Share on other sites
4 minutes ago, eewww said:

И тем не менее, если на карте нет ботов - все процессоры нагружены почти одинаково. Почему же тогда нельзя равномерно распределить нагрузку и при наличии ботов, в онлайне?

Потому что ИИ -- это отдельный компонент, и самописный к тому же, в отличие от движка, который в активной разработке почти 15 лет. Смекаешь?

12 minutes ago, eewww said:

Укажи для начала хотя бы свой процессор ...  и хотя бы того - какая у тебя вообще видеокарта.

i7-8700K, GTX 1060 6GB, настройки графики -- всё на минимуме (хотел посмотреть потребление памяти и пока такие и остались) в full hd. Проседания до 30 фпс в моём "эксперименте", конечно, исключительно из-за огромного числа ботов, их там несколько десятков спавнится.

15 minutes ago, eewww said:

неужели у всех все нормально в плане фризов и лагов? Или тут у всех поголовно 9900К+2080ti

Фризы и статтеры есть у большинства, судя по голосовалкам на форуме, даже у владельцев упомянутой тобой конфигурации. Забавно, когда один известный в узкий кругах стример Хлóпок купил такое железо, а stutters никуда не делись.

Link to post
Share on other sites
10 минут назад, koderr сказал:

i7-8700K, GTX 1060 6GB, настройки графики -- всё на минимуме

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

15 минут назад, koderr сказал:

Фризы и статтеры есть у большинства, судя по голосовалкам на форуме, даже у владельцев упомянутой тобой конфигурации. Забавно, когда один известный в узкий кругах стример Хлóпок купил такое железо, а stutters никуда не делись.

Ну это вообще ржач. Звучит как цитата о преимуществах игры.. Кстати - а где тут эта самая голосовалка по фризам и статтерам? Хочу добавить свой голос.

Link to post
Share on other sites
10 minutes ago, eewww said:

Кстати - а где тут эта самая голосовалка по фризам и статтерам?

Мне попалась на глаза эта тема, поэтому запомнил. Всего там не очень много голосов, конечно. Достаточно пройтись по твичу по крупным стримерам, у которых обычно топовые конфигурации, и посмотреть несколько минут. У того же Pestily, к слову, заветные 9900K+2080Ti, и чёртовы 64GB оперативки. И у него хорошие такие фризы. И, к слову, я не думаю, что кеширование винды заметно забивает 64 гига, да и наверняка он выключает/перезагружает комп хотя бы раз в день (что бы делал и я, будь стримером)

Link to post
Share on other sites
14 минуты назад, koderr сказал:

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

я несколькими постами выше скидывал ролик на ютубе, где показывается работа консольной программы, которая вычищает кэшированную память в 0, при этом не нужно делать никаких выключений и перезагрузок. Просто очистил память перед запуском игры и все.

Link to post
Share on other sites
58 minutes ago, eewww said:

Просто очистил память перед запуском игры и все

Я не знаю наверняка, использует ли он эту программу, я только говорю, что фризов у него порядочно, несмотря на более чем достаточное количество памяти. Потому и отношусь скептически к ISLC как к панацее от фризов, иначе все бы её использовали, не так ли? И роликов с демонстрацией её эффективности в Таркове не видно. Что вполне объяснимо, потому что бенчмарк в Rise of the Tomb Raider идёт по фиксированному сценарию, и графики фпс можно наложить друг на друга и сравнивать. А в Таркове -- каждый рейд уникален, и фризы возникают непредсказуемо. Продемонстрировать эффективность программы мог бы сбор статистики числа фризов-статтеров за рейд, в идеале с двух одинаковых по конфигурации компьютеров, с использованием программы на одном из них. Статистики, скажем, недели за 2 игры. Разумеется, никто не будет обременять себя таким проектом, потому что это никому не нужно.

Link to post
Share on other sites
  • 2 weeks later...

Уважаемые разработчики, я еще раз хочу обратить ваше внимание на то, что у меня нет понимания того - по какой причине у меня появляются статтеры при наличии ботов на карте - не важно онлайн я играю или оффлайн. В частности на карте берег. Да, это большая карта и я подумал, что это проблема с подгрузкой локации с ssd в кэш память - НО, я пробежал карту полностью вдоль и поперек в оффлайне без ботов - НИ ЕДИНОГО РАЗРЫВА ЛАГА. То есть, если на карте нет ботов - все работает ИДЕАЛЬНО, без малейшего, даже милисекундного затыка, что бы я там на карте не делал, и сколько бы я на ней не бегал. Но стоит мне добавить ботов или выйти в онлайн на этой же карте - все, весь кайф ломается. Я уже тонну скриншотов тут на форуме выложил, где на графике RTSS видны задержки кадра, а на деле в этот момент у меня заметный статтер, который меня дезориентирует и мешает нормально играть. Я не могу понять - почему сам факт наличия или отсутсвия ботов на карте влияет подобным образом - ладно бы там были просадки по ФПС из-за того, что добавились модели ботов\игроков, которые движок должен просчитать и отрисовать, несмотря на то, что их нет в зоне видимости - но почему статтеры?! Я уже перепробовал все баяны из интернета, которые нашел - отключил парковку ядер, пробовал программу ISLC для высвобождения зарезервированного кэша, игрался с приоритетами процесса в шлачине под названием process lasso, отключал 2 из 6 ядер и включал обратно, переносил игру с одного ssd на другой и обратно - на поведение игры это НИКАК не повлияло. Я просто хочу, чтобы на это проблему обратили внимание, возможно она не только у меня - а у всех игроков, которые испытывают проблему с лагами в игре, а лаги эти только тогда, когда на карте присутствуют боты. Поэтому я еще раз прошу РАЗРАБОТЧИКОВ и связанный и заинтересованных лиц обратить внимание на эту проблему, и тогда, возможно, вам не придется давать в саппорте отсветы с подобным списком рекомендаций от Малышевой:

12211.png.143be06ff8488becfefb410ba8ad0016.png

Link to post
Share on other sites
  • 2 weeks later...

Совершенно согласен с вашими утверждениями , и могу сказать что также все перепробовал , в оффлайне стабильно 70-80 фпс как только перехожу в онлайн или добавляю ботов , сразу падает до 30-40 фпс с просадками до 20 , иногда бывает что в онлайне просадок нет , мне кажется что это зависит на прямую от сервера и нпс 

Link to post
Share on other sites

Предлагаю поизучать историю Escape from Tarkov. История борьбы со статтерами и фризами началась еще с альфа-теста, в 0.12 патче они уже не так действуют на нервы, и опять же, у меня, что на 4790к, что на 9600к как были полсекунды, так и остались. В большинстве своем практически не замечаю, но раз в минут 5 все такие глаз цепляет.

И онлайн с ПВЕ сравнивать, это такое себе. В онлайн в большинстве своем нагрузка ложиться на процессор, вот как ни странно и на видеокарту (кому непонятно как, в подписи советы как это сделать).

Еще момент, важно понимать, что у меня на процессорах и видеокарте залочена частота работы. Для проца на всех ядрах и в разгоне на 4.9 (на старом это была 4.7) , на видеокарте 1850 на заниженной напруге.

Ну и частота памяти на 3866 на 17-17-17-36 (это еще в процессе).

upd. Ну, и это. Войну с микрофризами разработчики ведут до сих пор.

А кивать в сторону серверов на микрофризы последнее дело, вот когда рассинхроны клевать начинают и невидимки появляются, это да.

p.s. мне посоветовали против микрофризов после каждого патча или апдейта переустанавливать игру с зачисткой реестра и т.д. Сам не пробовал, но чего-то захотелось опробовать.

Edited by Mangy
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...