Галерея

Хайле Селассие (Эфиопия) Промышленная эпоха civ5_z220 civ5_z107

Для Civilization V не понадобится супермощный компьютер

Графика Civ5 на разных системах

В марте на конференции разработчиков игр GDC компании Firaxis и Intel провели совместную сессию, посвященную Civilization 5. Дэн Бейкер (Dan Baker), руководитель графической команды Firaxis, и Янис Минадакис (Yannis Minadakis), ведущий графический инженер Intel, рассказали о том, как им удалось сделать игру «масштабируемой» (scalable), что позволит запускать Civ5 на широком спектре компьютеров, даже на устаревших (low-end) конфигурациях. Видео этого выступления, включая небольшую демонстрацию раннего билда игры, и слайды презентации теперь открыты для свободного просмотра на сайте GDC Vault (требуется только быстрая регистрация). Доклад содержит множество технических подробностей и, вероятно, будет понятен не всем поклонникам Civilization (мне, например), поэтому на сайте публикуется перевод основных моментов выступления, выделенных нашими коллегами с сайта WePlayCiv.com.

Выступление состоит из двух частей. В первой рассказывается о том, как Civ5 сделали многопоточной (multi-threaded), во второй – каким образом ее оптимизировали для работы со встроенными графическими картами (integrated graphics). Большинство цивфанатиков не удивятся, услышав, что Civilization IV создавала серьезную нагрузку на процессор, а производительность и Civ4, и консольной Civilization Revolution значительно снижалась в поздних эпохах по мере возрастания количества юнитов, городов и других игровых объектов для обработки. Причина этого заключается в том, что движок Civ4 (который использовался и для CivRev) никогда не предусматривал поддержки многопоточности, и не был оптимизирован для осуществления массовых задач рендеринга (mass rendering jobs). Все ключевые системы игры были глубоко интегрированы друг с другом, что часто приводило к ситуациям, когда вся система вставала в ожидании, пока одна из субсистем не завершит свою работу.

Поэтому для Civ5 Firaxis переписала движок с нуля, сделав его предельно ориентированным на задачи (jobs). Код при этом разбивается на тысячи отдельных задач, которые равномерно распределяются среди доступных процессоров – от одного и хоть до 50 (теоретически). Все внутренние системы полностью децентрализованы и коммуницируют друг с другом посредством простой системы сообщений, чтобы избежать заторов и побочных эффектов. Наконец, Firaxis применила инструменты Intel для проведения глубокого анализа распределения загрузки графики и использовала полученные результаты для оптимизации игрового кода, особенно для минимизации выделения памяти (memory allocations) — например, резервирование места в памяти для хранения данных в дальнейшем — и предотвращения заторов во всей системе. Все эти меры позволили Civ5 анимировать на современных компьютерах до 10,000 юнитов на одном экране одновременно без потери скорости. Для сравнения в Civ4 этот показатель составлял 100. В демонстрации ранней тестовой версии Civ5 Бейкер разместил на игровом экране около 5,000 юнитов. Другим примером особой эффективности уменьшения выделения памяти является тот факт, что комплексная динамическая анимация Тумана Войны (Fog of War) улучшена на 600%. Таким образом, графический движок Civ5 избавился от критической привязки к процессору и сможет с большим эффектом использовать ресурсы видеокарты. На самом деле на современном (multi-code) компьютере Civ5 покажет значительно лучшую производительность, чем Civ4.

Что касается GPU оптимизации, Intel помог Firaxis запустить Civ5 на системах с интегрированной графикой. Благодаря этому, под минимальные требования попадают современные ноутбуки и другие не слишком мощные системы без дополнительных видеокарт. Это те системы, о которых производители игр совершенно не думали до последнего времени, т.к. возможности встроенных графических процессоров не соответствовали постоянно растущим требованиям игровой индустрии. Используя аналитические инструменты Intel, специалистам удалось с помощью всего нескольких изменений добиться увеличения частоты кадров на встроенных картах 5 до 30! Основные усилия были направлены на оптимизацию работы на небольших разрешениях (720p), т.к. системы с интегрированной графикой редко используют более высокие разрешения. Разработчики отключили анимацию при бездействии (idle animation), уменьшили уровень деталей ландшафта, который был очень высок (но не вызывает побочных эффектов на мощных системах), а также уменьшили размер карт теней (shadow maps) и текстуры национальных границ – просто нет необходимости сохранять их размер при низких разрешениях. Наконец, отказались от продвинутого рендеринга воды и тумана при удалении камеры и добавили механизмы балансировки, отправляющие часть задач по просчету графики на основной процессор. Графические изменения при этом не столь значительны, но игра теперь идет на приемлемом уровне даже на не слишком мощных PC.

by Wouter «Locutus» Snijders (русский перевод — NeverMind)

3 comments to Для Civilization V не понадобится супермощный компьютер

Leave a Reply