Jump to content

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


eewww
 Share

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 comment
Share on other sites

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

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

Edited by MaxeliusK
Link to comment
Share on other sites

12 часа назад, Mangy сказал:

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

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

 

 

Edited by eewww
Link to comment
Share on other sites

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

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

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

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

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

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

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

15 часов назад, eewww сказал:

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

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

  • Sad 2
Link to comment
Share on other sites

1 hour ago, Mangy said:

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

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

  • Upvote 1
Link to comment
Share on other sites

1 час назад, koderr сказал:

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

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

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

Link to comment
Share on other sites

6 часов назад, Mangy сказал:

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

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

Link to comment
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 comment
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 comment
Share on other sites

20 часов назад, eewww сказал:

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

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

Link to comment
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 comment
Share on other sites

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

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

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

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

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

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

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

Link to comment
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 comment
Share on other sites

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

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

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

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

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

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

Link to comment
Share on other sites

10 minutes ago, eewww said:

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

58 minutes ago, eewww said:

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

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

Link to comment
Share on other sites

  • 2 weeks later...

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

12211.png.143be06ff8488becfefb410ba8ad0016.png

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
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 comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...