ZZZ
- Промокоды
- Тир-лист персонажей
- Баннеры 1.2
- Тир-лист банбу
- Инспектор Мяучело
- Памятные монеты АИК
- Пропавшие мини-грузовики
- Все скрытые квесты
- Все достижения
- Все арты c6 персонажей
- Как повысить уровень доверия агентов?
- Клякса: как приручить?
- Видеопрокат и все видеокассеты
- Отдыхающая домохозяйка: фильм
- Ностальгирующая девушка: фильм
- Влюбленная девушка: фильм
- Квест Клуб загадочников 1 и 2
- Квест Отмотай назад, детектив
- Квест Заметание секретов
- Квест Пропавшая картина
- Квест Бескрайняя бездна
- Квест Пророчество
- Квест Лимб банбу
- Все гайды
Hogwarts
- Испытания Мерлина
- Хранилища сокровищ
- Луны мистера Муна
- Хитроумные ключи
- Головоломки Иродианы
- Квест «Призрак нашей любви»
- Квест «Колодец, колодец»
- Квест «Сокровища из проклятой гробницы»
- Квест «Гиппогриф вам укажет путь»
- Квест «Словно по звонку»
- Непростительные заклинания
- Все легендарные сундуки
- Все животные и твари
- Все метлы
- Все концовки
- Все гайды
Baldurs Gate 3
- Башня Рамазита и колдовской погреб
- Вызов Шар — все испытания и Копье Ночи
- Логово Ансура — все чертоги и дракон
- Литейная стальной стражи — как спасти гондийцев
- Обыскать подвал — как открыть Некромантию Тхая
- Разрушенная башня — как запустить лифт
- Адамантиновая кузня — все формы и мифриловая руда
- Завершить оружейный шедевр — кора суссура
- Тетушка Этель — как спасти Майрину
- Яйцо гитьянки — как украсть и можно ли вырастить
- Мистический Падальщик — где найти слугу
- Найти клоуна Каплю — все части тела
- Как победить Геррингот Торм?
- Где найти Кровь Латандера?
- Где найти Песню Ночи?
- Все гайды
Honkai Star Rail
- Промокоды Honkai Star Rail
- Все сундуки Золотого мига в Honkai Star Rail
- Похвала высокой морали в Honkai Star Rail
- Все сундуки в Лофу Сяньчжоу из Honkai Star Rail
- Первооткрыватель в Honkai Star Rail
- Все сундуки Сада безмятежности в Honkai Star Rail
- Беглецы в Доме кандалов
- Заказ прокси
- Дом кандалов: сундуки и робоптахи
- Гексанексус: Remake в ХСР
На PlayStation удобнее: как делали порт Detroit Become Human
Поделиться
Телеграфировать
Твитнуть
Полноценно оптимизировать генерацию шейдеров разработчики так и не смогли.
В самом конце 2019 года студия Quantic Dream выпустила на PC Detroit Become Human, бывший эксклюзив для PlayStation 4. Спустя 9 месяцев после релиза разработчики из Quantic Dream поговорили о том, как создавался порт для PC.
Портирование Detroit Become Human далось непросто: почти все технологии, использованные в игре, Quantic Dream разрабатывала самостоятельно. Адаптировать их под новую платформу тоже пришлось самим. Мы выбрали самые любопытные моменты из рассказа разработчиков.
Про начало разработки
- Портирование заняло больше года: перенос игры начали в июле 2018 года, через два месяца после выхода на консоли.
- Движок с самого начала создавался под PlayStation 4, разработчики никогда не думали, что когда-нибудь его придется перенести на другую платформу.
- Для PC-версии игры потребовалось создать новый рендер. Это была самая непростая часть работы.
Про проблемы с рендером
- В инструментах студии использовался OpenGL — API, который может работать на PC. Адаптировать его под PC и выпустить игру в таком виде было нельзя: были сложности с производительностью и поддержкой GPU разных производителей.
- Использовать DirectX 11 тоже не вариант: в Detroit используется масса ресурсов без биндинга, на DirectX 11 это привело бы к масштабной переделке шейдеров и падению производительности.
- Разработчикам пришлось выбирать между DirectX 12 и Vulkan. Они похожие, но Vulkan на тот момент поддерживал Windows 7 и 8, а студия хотела, чтобы порт был доступен максимальному числу игроков.
- В конце концов выбрали Vulkan, но за время разработки порта Windows 10, поддерживающая DirectX 12, очень сильно распространилась: можно было остановиться и на этом API.
Про разницу между PC и PlayStation 4
- Процессор PlayStation 4 медленнее современных PC, но у консоли есть существенное преимущество: минимальные накладные расходы на работу с API и очень быстрый доступ к железу.
- При работе с Vulkan разработчики придерживались подхода, напоминающего PlayStation 4: старались контролировать как можно больше и отдавать на откуп драйверу минимум работы.
- По оценке Quantic Dream, графический API консоли гораздо эффективнее, чем любой из API, существующих на PC. В частности, на консоли можно отправлять очень много вызовов отрисовки за один кадр; на низкопроизводительных PC это могло привести к проблемам.
Про шейдеры
- На PlayStation 4 они компилируются в автономном режиме и грузятся мгновенно. На PC драйвер компилирует шейдеры во время загрузки, приходится поддерживать много разных GPU и процесс занимает кучу времени.
- В случае с Detroit ситуация усложняется тем, что в игре очень много шейдеров: художники могли создавать огромное количество шейдеров, тонко настраивая материалы.
- Во время тестов с OpenGL генерирование кэша шейдеров занимало всю ночь, и на старте игра все равно подвисала.
- С Vulkan все было не так страшно. Сперва подготовка шейдеров тоже занимала очень много времени, но затем разработчики оптимизировали промежуточные файлы шейдеров и сделали так, чтобы их генерацией занимались все процессорные ядра.
- Это сильно ускорило процесс, но был нюанс: привязка к числу ядер. На Threadripper процесс завершался за пару минут, на слабом PC он мог занимать больше 20 минут.
- Единственный способ, позволяющий полностью устранить проблему, это уменьшение числа шейдеров. В случае с Detroit это невозможно — потребовалась бы переделка всех материалов, — но в будущем разработчики учтут этот момент.
Про оптимизацию отрисовки
- В одном кадре Detroit Become Human может использоваться больше 4 тысяч разных текстур — это очень много.
- Для оптимизации процесса разработчики используют несколько массивов с дескрипторами текстур: для 2D-текстур, для 3D-текстур, для буфера материалов, для кубических текстур.
- Чтобы быстро определять видимость ассета в кадре, разработчики не считают пересечения, а сравнивают списки дескрипторов, сгенерированные для нынешнего и предыдущих кадров.
- Одна только эта оптимизация позволила на один или два порядка увеличить скорость обновления списков дескрипторов.
- Благодаря индексации дескрипторов игра может отрисовывать множество примитивов за один вызов — при условии, что используется один и тот же набор дескрипторов, шейдерный пайплайн и вертексный буфер.
- Благодаря этому удалось на 60% снизить число вызовов отрисовки и увеличить производительность на слабых PC.
Читать далее
- Больше, чем просто развлечение: почему игры можно считать искусством
- Почему сложно портировать игры с PlayStation 4 на PC: рассказывает команда Detroit Become Human
- Три части Metal Gear для PC получили возрастной рейтинг на Тайване
- Аналитик Майкл Пактер почти всегда ошибается — зато он смог предсказать продажу Bethesda
- The Last of Us 2 проходят до конца чаще других игр для PlayStation 4
- Кандидаты на порт: как быстро продаются эксклюзивы PlayStation 4
Какую из этих игр вы будете проходить в первую очередь?
Civilization VII
333 голоса, 13.0%
Kingdom Come Deliverance II
1457 голосов, 56.8%
Assassins Creed Shadows
458 голосов, 17.9%
Monster Hunter Wilds
104 голоса, 4.1%
Avowed
116 голосов, 4.5%
Like a Dragon: Pirate Yakuza in Hawaii
97 голосов, 3.8%
Поделиться
Телеграфировать
Твитнуть