Comments 22
Рукожопство всё это. В gta5 при полете на самолёте, стабильные 60 fps. Игра 2015 года. Так может и в этом секрет, что пора немного отъехать в те годы и разрабатывать на тех инструментах и движках. А не забивать нанитами топ видеокарты которые не справляются.
Всем вообще пофигу!
Так его и не используют ААА игры при разработке на UE5. Неделю назад, как раз новость была.
А нанит мог быть дать перформанс, но разработчики его не использовали, как и люмен.
Плюс ты сравнил нанит из UE5 с dots у Unity. Сравнение некорретное.
В гта5 столько всего запекли что даже страшно сказать, дорога это N кусков где куча кусков это декали, у большинства мешей есть маска AO есть маска баунсов от неба и еще целый список приколов и все это в вертексном цвете. Игре из поста с ее генеративным контентом такое даже не снилось, отсюда и картинка хуже и нагрузка больше.
Тут нужно не забывать опыт работы Rockstar с их движком Rage.
Когда вышла GTA 4 - это был коллапс для средних-слабых ПК в своё время. Даже на мощных то она бывало фризила. И они тоже долго допиливали её, да и что уж говорить, четверка до сих пор довольно требовательна к ресурсам.
А потом вышел МаксПэйн3, где Рокстар смогли этот движок обуздать, ну а GTA5 - это магнум опус, со учетом всех предыдущих ошибок работы с движком.
Ну и опять же таки, не стоит забывать, что C:S2 - это в первую очередь градостроительный симулятор, где контент генерируется не в условных 500 метрах от игрока.
Поэтому сравнивать Rage и Unity, как и сравнивать GTA и C:S2 - совершенно некорректно. Разница генеративного контента в этих двух играх - колоссальна.
То что конечно в C:S2 есть куча бесполезного рендера вплоть до зубов жителей - это уже другой вопрос ¯\_(ツ)_/¯
Крутой анализ! Я планирую вообще пока не запускать игру, подожду оптимизацию.
Возможно ждать придется долго, в комментариях на Hacker News автор пишет что в кадре который он анализировал 121 миллион вершин и более 40 миллионов треугольников. отсутствие LOD усугубляет картину.
С другой стороны - производительность не придётся выжимать сложными оптимизациями с эффектом в несколько процентов, есть очевидные места для простых улучшений в разы.
P.S. самое очевидное - в настройках графики по-дефолту отключить глубину резкости, motion blur и прочие эффекты, которые умудряются затормаживать игру в несколько раз - эффект уже огромный, большинство людей не будут лазить по настройкам и подбирать оптимальные.
Там на самом деле одна из главных проблем - отсутвие переиспользования ресурсов. Он делает миллион рендер пассов, чтобы на следующем кадре отбросить большую часть этих результатов и провести весь этот миллион проходов снова. Большое количество верши это конечно неприятно, но не настолько смертельно для производительности.
Для справки: при стабильных 60 FPS время рендеринга кадра всегда должно быть примерно равно
1000 / 60 = 16,666...
миллисекундам.
Для симуляций, связанных с графикой (например, для воды, снега, частиц и скелетной анимации), используется множество вычислительных шейдеров. Суммарно они занимают примерно 1,5 миллисекунды, то есть меньше 2% от времени рендеринга кадра.
Нормальная математика. Как говорится, вот на эти два процента и живу.
Да вроде уже пробегало - рисует все зубы каждого жителя вне зависимости от показываемого кадра.
Я как услышал про это, до сих пор так и не могу понять, нахрена в этой игре вообще отрисованы жители, а тут даже автор оригинальной статьи прошелся по модельке, мол она убогая. Да это даже не шутан от третьего лица, чтобы вылизывать неписей - это RTS от птичьего полета, где 90% игры ты смотришь сразу на несколько кварталов, какие в жопу зубы???
"Таска пришла, ну я ассет купил и вставил"
Напомнило: https://nichegamer.com/playerunknowns-battlegrounds-snubs-female-camel-toe-before-full-launch/
Авторы писали в отповеди, что для фотомода.
да зубы это еще полбеды, в другой части статьи видимо будет, там например есть куча бревен на 100К вершин.
Да зубы то может и ОК, но должны же быть ЛОДы. Это ж основа основ еще с тех времен когда каждый писал свой движок.
Там выяснили, что это на самом деле это не так и это просто чей-то вброс был. Хотя с LODами там имеются проблемы.
Вспоминаются мне почему то рекомендации по дизайну контента для SecondLife. Мол НЕ НАДО на туфельки текстуры 1024x1024 делать. (SecondLife это в принципе такая штука что вполне возможно эти туфельки будет рисовать человек который вчера посмотрел статью как работать с 3D-редактором, а текстура эта будет стримится по сети и движок должен нормально такое учитывать)
Читал разбор, что проблема в высокополигональных процедурно генерируемых жителях, у которых дофига полигонов на теле, сетка прям плотная плотная, есть зубы, каждый отдельной моделью, есть даже нижнее белье под одеждой, и нет никакого кулинга, то есть все это обсчитывается нонстоп, причём даже если жителя нет в кадре, по черт знает какой причине.
На реддите уже инструкция есть как НПЦ выключит через дев-консоль. Сразу +20 фпс добавляет
Cities: Skylines 2 написана на Unity
эхехе, все понятно
а если серьезно, смотрю я на скриншот перса, и уже многое становится понятно. Сколько там блин полигонов на модель человека, который будет занимать 0.1% площади экрана? А очки, зачем такая детализация? 6к draw call'ов с инстансингом? как? Очевидно, у ребят все не очень хорошо с оптимизациями
А когда то хейтили яндере дев. А сейчас нормальная практика
Почему Cities: Skylines 2 так тормозит (часть 1)