«Чтобы и топовая картинка, и запускалось на калькуляторе»: тред бывшего левелдизайнера Skyforge об оптимизации игр Статьи редакции
Почему у игр возникают проблемы с производительностью и несколько советов.
Ярослав Кравцов, который работал левлдизайнером в Allods Team, а сейчас занимается инди-разработкой, опубликовал в своём твиттере тред о том, как оптимизируют игры. Поводом послужило заявление сооснователя CD Projekt RED Марчина Ивински, в котором тот назвал систему стриминга одной из основных проблем Cyberpunk 2077.
По словам Кравцова, в студиях нередко стоят «топовые компьютеры», которые облегчают работу разработчикам и позволяют отделу маркетинга демонстрировать игру со всеми новейшими техническими достижениями. Однако ближе к релизу может выясниться, что такие устройства есть лишь у малого количества игроков, «а у остальных игра будет с низким fps, долго загружаться и вообще хорошо, если запустится».
При этом купить в офис старый компьютер для проверки работоспособности билда — это тоже непростая задача, ведь каждый компонент нужно искать на вторичном рынке.
В целом, гораздо разумнее делать игру, ориентируясь в первую очередь на минимальную конфигурацию, а уже потом «наворачивать красоту» для более мощных устройств.
Минимальные требования складываются из данных по статистике систем — то есть разработчики как правило ориентируются на ту конфигурацию, которая есть у большого числа игроков.
Открытые миры, как в той же Cyberpunk 2077, отличает то, что всё их наполнение нельзя разом загрузить в память. Тут на помощь приходит стриминг, благодаря чему объекты впереди игрока постоянно подгружаются, а позади — выгружаются. Однако у стриминга есть предельная скорость и порой игрок может заметить подгрузку окружения — например, при быстром перемещении по миру.
Скорость стриминга зависит от носителя, на который установлена игра. Так, при использовании SSD проблем со стримингом меньше, чем при установке на HDD. Однако второй дешевле и шире распространён, из-за чего «игры долго загружаются, а затем не справляются со стримингом».
Именно поэтому, по словам Кравцова, на некоторых компьютерах Cyberpunk 2077 не справляется со стримингом, хотя сама система, считает разработчик, должна быть невероятно сложной, чтобы определять приоритет объектов для загрузки.
Другим важным инструментом оптимизации Кравцов называет LOD (level of details). Суть в том, что объекты, которые находятся далеко от игрока, имеют меньшую детализацию, а значит потребляют и меньше ресурсов.
На производительность оказывают воздействие и источники освещения, которые производят тени в реальном времени. В целях экономии тут используют либо запечённое освещение, либо безтеневые источники.
Далее Кравцов описывает несколько хитростей, которые могут помочь новичкам с оптимизацией игры.
Разработчик также отмечает, что его тред ориентирован в первую очередь на новичков.
В заключение Кравцов объясняет, почему выходят игры с проблемной производительностью. По его словам, игр без багов не бывает и QA-команда всегда составляет отчёты о них. Дальше всё зависит от руководства проекта, которое должно принять решение: выпускать игру в том или ином состоянии или отложить релиз.
Оптимизация на поздних этапах, по словам Кравцова, — трудоёмкий процесс, ведь разработчикам приходится переписывать целые системы, если проблема в коде, или переделывать тысячи моделей, если что-то не так с данными. Но и преждевременная оптимизация — не лучший выбор, ведь можно потратить много времени на то, что в итоге вырежут из игры.
При этом купить в офис старый компьютер для проверки работоспособности билда — это тоже непростая задача, ведь каждый компонент нужно искать на вторичном рынке.
Расскажите ему про существование виртуалок)
Виртуалка на то и виртуалка, и она далеко не равна физической конфигурации
Не равна, но хотя бы позволит сэмулировать старое железо, чтоб хоть как-то протестировать при отсутствии других вариантов.
Нет, потому что ложный тест приведёт к ложным результатам, а они потребуют ложных решений, на которые в свою очередь уйдет очень ценное время.
1. Даже не пробуешь проверить гипотезу — получается то, что получили с Киберпанком.
2. Пробуешь какие-то варианты (хотя бы с виртуалкой), узнаешь, что проблема вроде как есть.
Про решение никто не говорил, но виртуалка даст возможность узнать хотя бы потенциальные проблемные места, чтобы потом проверить на реальном железе.
1. Я не писал про ничего не делать. И вообще у СДПР была возможность тестирования на самых проблемных машинах - консолях старого поколения.
2. На "проблема вроде как есть" тоже тратятся человеко-часы. Это время как раз тех же QA, которые как раз по заверениям Шраера и страдают больше всех. Зачем их время тратить на проблемы, которых может и не быть? Особенно, если их могут, цитата: "проверить на реальном железе"?
Игры на виртуалках не тесят, разве что эмули какие. Это заведомо провальный план по всем параграфам.
1. Откуда вы знайте что они не пробовали решить эту проблему и "то, что получили с Киберпанком" и есть результат этих проб?
2. У меня компьютер 5 летней давности, овер 200 часов отыграл на 40фпс в средних настройках без особых багов, даже без Т-поз (вот ни разу не было) - как по мне "не оптимизированно" и "получается то, что получили с Киберпанком." - это когда ты играешь Пабг или БДС - вот в этих играх не была никакой оптимизации.
Процессор и периферию точно хорошо эмулирует. Позволит отладить игру, если ты например захочешь податься в ретро тематику и сделать игру под какой-нибудь 386ой полностью на процессоре. И то вопросы со скоростью. чтения с диска могут быть.
Больше я не знаю эмуляторов которые хотя бы пытались бы что-то подобное эмулировать. Может еще эмуляторы приставок, но не мейнстримные, а для этого есть отдельная олимпиада есть, максимально точная эмуляция железа, не с целью запуска игр, а с целью эмуляции железа.
А то что ты говоришь "хоть какой-то результат", так можно пальцем в небо ткнуть, тоже будет результат ))
Ну ты несешь хуету про отладку киберпанка на "виртуалке", которая на самом деле должна быть не виртуалкой, а эмулятором ))
То есть ты хочешь эмулятор ПС4 или старого железа каждому разработчику на пк. Если бы он был, это наверное был бы вариант.
То что ты несешь - это на столько хуета, что даже обсуждать сложно, вот.
А ссылку ты мне на эмулятор железа скинешь? Виртуалки - это не эмуляторы железа ))
Ты писал что они существуют, покажи мне их. Досбокс я знаю, эмуляторы приставок с горем пополам, есть эмули ARM железа для андроида, вроде... У меня все, больеш эмуляторов я не знаю. Виртуалки не жмулируют железо, не пытаются эмулировать железо и разработаны не для того что бы эмулировать железо.
Жилой
Он в цитате выделил фразу про поиск железа на вторичке. То есть по его логике существуют виртуалки, которые буду ЭМУЛИРОВАТЬ старое железо со вторички.
Жилой
Расскажи как, консоль - это APU с общей GDDR памятью, восьмиядерным ультрабучным процессором и мощной видеокартой с заниженным павер лимитом.
Жилой
То есть у меня все плохо работает, потому что у меня 16 гб памяти, а не 32? И если я куплю 32 гига к моему райзену первого поколения и РХ470, то у меня киберпанк залетает? ))
Комментарий удален
Комментарий удален
Комментарий удален
Комментарий удален
Как показывала практика, они даже не тестировали игру на конфигах с трбебованиями которые сами же и написали, в таком случае про оптимизацию на еще более старое железо и речь не может быть
Если опираться на этот пост, то требования для 30 ФПС , и для 30 ФПС с 30 ФПС заявленные конфигурации справляются
Жилой рубин
Или тестировали как Анансик предлагает, или как Феня на оверах тестирует железо - отключили ядра в своем уберпк, все нормально работало )
Комментарий удален
Я лично сам не понял этот пассаж. Видимо мы зря ругаем разработчиков. Пользоваться барахолками это уже для них невыполнимая задача. То есть бюджеты растут, есть деньги на офис, деньги на зарплату профессионалам, деньги на маркетинг, но найти старый компьютер это уже всё, это за гранью фантастики.
Я теперь ничего не буду требовать от разработчиков и не буду больше их критиковать. Они даже элементарно на Ebay не могут зайти, что вы хотите от них то?
У юриков могут быть проблемы с закупкой старого говна через условное авито. А, значит, нужно по серому выплачивать премию сотруднику, чтобы тот на эту премию покупал старое говно для работы. Как раз, у большой компании с этим могут возникнуть проблемы.
Есть конторы, которые официально торгуют б/у железками и все оформляют официально. Но это в россии. В польше, похоже, такого нет :)
потому что иначе работниики будут скупать старое железо у своих же друзяшек
Комментарий удален
Тут все очень странно, работал в ит конторе, где компы сотрудникам обновляли раз в три года, старые естественно не отправлялись на помойку, а на склад, думаю что и тут должно быть примерно тоже самое? Если старое железо работает, зачем его списывать?
Да и просто купить в магазине железо слабее топового - не православно для сабжа.
Ты вот выйди с ним раз на раз в твиттере, как мужчина, а не вот это вот "передайте ему" , "расскажите ему" 😎
Путаете виртуализацию и эмуляцию. При виртуализации хост система отдает часть ресурсов гостевой системе и используется тоже железо. Эмуляция то что нужно, но адекватной производительности не добиться при этом. Чтобы было понятно, VirtualBox запускает виртуальные машины, Qemu эмулирует железо, DosBox тоже эмуль. Как жрут ресурсы эмуляторы, достаточно глянуть на эмули PS3, XBox и схожих. Без реального железа это бессмысленно использовать эмули, только чтобы убедится что софт просто запускается.
Прости, а что за виртуалка позволит эмулировать разные модели видеокарт?
С процессорами то всё проще, топовые матери позволяют отрубать часть ядер, плюс можно частоту оных понизить, и получить более слабый аналог и без всяких виртуалок, но основная проблема то в видюхах как раз.
Виртуалка/эмулятор, не важно как. Не знаю, почему все так прицепились именно к этому слову. Посыл был в том, что узкие места в производительности можно найти и на мощном железе просто каким-то образом ограничив часть ресурсов системы.
Конкрето с видеокартами это так не работает. Ты не можешь сам вырубить часть cuda ядер на nvidia или часть чипа на amd. Ты не можешь ограничить количество видеопамяти. Простой сброс частот снизит производительность, но совершенно иным образом чем если бы это была видюха похуже.
Почему опять речь только про видеокарту? Помимо видюхи упираться многое может в CPU и диск.
Потому что как я изначально и сказал остальное не так сложно "подрезать" при большом желании, но без слабой видюхи в наличии на руках не выйдет оттестировать полноценно.
На виртуалках сложновато рендер тестировать, как минимум. Плюс если это минспек, то на компьютере вообще совсем ничего кроме игры не должно быть запущено, машина и так надрывается.
ДА купить средний (как у всех) комп вообще не проблема. Даже штук 10. Сложнее как раз 3080 купить.
В СДПР у всех сотрудников компы с 2080ti - поэтому киберпанк на них идет лучше чем на 30й серии
Если собрать "старый ПК" непростая задача, то я не знаю как они игры разрабатывают, абсурд. Вот уж задача так задача. Неподъемная
Вы упускаете кучу логистических проблем со старым железом. Сперва надо понять какие конфигурации надо собирать, чтобы покрыть большую часть проблем ЦА, затем их надо достать. После этого нужно собрать необходимое количество машин, чтобы была возможность прогнать игру, после этого нужно выделить какое-то место, где их нужно будет хранить и т.д.
Это все проблемы уровня заказать в офисе воду в кулер, сперва надо выбрать воду, потом посчитать сколько в офисе народу, чтоб посчитать, сколько выпивают, потом выбрать кулер, о господи теперь нужно выбрать где купить кулер а потом еще поставщика воды, потом еще вовремя принять воду и вовремя платить а еще кулер может сломаться а еще надо водителя встретить а еще платить вовремя это счет выставлять надо или наличкой платить а если наличка то как они чек выдадут а у них есть с собой терминал или нет а если безнал то это они счет выставят а нам надо заплатить а у нас бухгалтера это надо бухгалтера нанимать а где его нанимать а вдруг плохой бухгалтер а бухгалтеру зарплату платить
виртуалки точно не подойдут для оптимизации, особенно такой комплексной игры. это же какие мощные ПК нужны чтобы сэмулировать условную 1060, да ещё с максимальной точностью и без дополнительных тормозов.
Простите как вы на вертулках будите тестировать ситуацию с 3 планками и разной частоты. А судя потому же dtf раз в неделю попадаються такие умельцы.
Умный Мурод
На момент выхода картинка была отличная.
И шла на любом калькуляторе.
Не Крайзис, конечно, но получше многих ММО.
Не Крайзис, конечно, но получше многих ММО.
Ноунеймы из пёрлэббис сейчас не поняли
Играл на калькуляторе в 20-30 фпс, кайфовал неимоверно)) вообще пофиг было на фпс и графу))
Играла в Skyforge на печатной машинке с 7-12 фпс. Игрушка жутко нравилась в начале. Вроде бы тогда ещё был ОБТ. Та версия, где было огромное древо умений и 3 цветных энергии для прокачки.
Играл не на калькуляторе с просадками до тех же 20-30)
Вообще не кайфовал.
А система устройства мира убила нахуй желание играть
Я Skyforge впервые увидел в 2014 на Игромире. Картинка на тот момент была весьма неплохой.
В прошломгоду вышел их клон по визуалу -как его там, ага Годфалл,- дизайн 1 в 1 так вообще
Скайфордж запускался даже на моем, уже неживом, компе 2005 года сборки! хоть и со скрипом, но играть можно было. а на нынешнем так и вообще летать наверно будет, я просто давно не запускал игру. так что пожалуй чел таки прав. все зависит из какого места у программистов руки растут...
Ну блин делать такие крутые визально игры как кп2077 с оглядкой на это жуткое народное железо тоже такая себе идея.
Достаточно того что она там в 30фпс работает.
ну вон Гта 5 на хбоксе 360 сделали же, а там памяти с гулькин хрен
Так гта5 и не образец игровой красоты знаешь ли. Особенно на х360. Там даже травы нет лул
Ну так кот прав, ты сам то свое сравнение смотрел? Там где на пс4 50 кустов травы, на пс3 от силы кустика 4 добавили. Заросли прям.
ты лучше открой видос, где гта 5 на паст гене ( пс 3) 23 фпса выдает в среднем
вот и я считаю, что для нынешнего паст-гена КП идет хорошо, реды еще хоть-как-то умудрились такую же оптимизацию завезти, вот видос, где все вполне играбельно, то же мыло, свойственное консолькам, но играбельное. Да вообще можно про любую игру говорить, хоть про рдр 2, хоть про Ведьмака, ассасинов, да про что угодно, консоли настолько далеки от нашего мастер рейса, что хейтить киберпанк за то, что он должен был выйти лучше, чем они позволяют - ну это слишком, не знаю, какое зрение нужно иметь, чтобы не видеть разницы между пк и консолями, и это еще не говоря об ртх
ну насчет багов я бы тоже поспорил, но тут ты мне, конечно, не поверишь, что я ни один из форсящихся багов из игры не словил, а также ни одного вылета не было, прошел игру за 55 часов и доволен как слон, сейчас жду длс и перепройду еще разок, я не говорю, что она идеальная, да в ней много деталей, которые раздражают, но баги - не одна из них, больше всего иммерсивность терялась из-за ИИ толпы, надеюсь ее поправят, и полицию, все остальное - уже дело второе
Комментарий удален
я же тебе написал, я среднестатистический игрок, играл в игру и почти ни с чем не встретился, я не знаю, кто там что выпускал, но если баги специально выискивать для видоса, то конечно можно много чего найти и показать, при обычной игре у меня было только два бага, которые немножко подпортили игру, первый - музыка в правом ухе в флешбеке с Джонни, которая фиксилась только перезаходом и второй - при одном квесте не мог спуститься в подвал, чтобы выйти из здания безпалевно, двери тупо не открывались, в итоге пришлось перебить всех в фойе
Она убрала ее из-за хейта общественности, а та в свою очередь решила, что теперь 23 фпса ее не устраивают на консолях, гта 5 было позволительно, но киберпанку нет. Но я и редов не защищаю, им действительно надо было релизнуть игру только на ПК, а потом допилить и на паст ген и на следующее поколение
справедливости ради хочу отметить, что если б там счетчик фпс скакал от 20 до 30 и разрешение динамическое было таким, какое оно есть сейчас (я про пс4 говорю, базовую), то все было бы норм, не сильно приятно, но более чем играбельно. И хуй бы с ними, с багами этими, но вот фризы, которые ещё и нарастали по ходу игры - это пиздец, так играть невозможно совершенно. Гта не фризила на ящике 360, на пс3, правда, выглядела, хуже, чем на нем, но фризов тоже не было, в целом - производительнлсть была хоть и не фонтан (хотя, субъективно, на коробке 360 она была заебись, как и визуал), но не вгоняла тебе в ярость КАКОГОХУЯТЫОПЯТЬЗАВИСЛА. Ситуации очень разные, короче. А, ну и несмотря на фпс в гта была очень плавная камера, в кп2077 она очень дерганная и прям неприятная, словно лок кадров выставили, а всинк как был на 60, так и остался
даже на таком разрешении выдавать такой графон в опенворлде это то еще достижение
47 фпс? А какое разрешение у кп на пс5?
Просто 1070 выдает 40-60фпс на высоких настройках, но в фхд