PC Games Hardware интервью с Олесем Шишковцовым (перевод)
Metro Last Light для ПК стремится к технологическому престолу: разработчик движка говорит про DirectX 11 тесселяции с GPU-Physx и т.д..
С релизом Метро 2033 украинский разработчик 4A Games раздвинул границы графики, сиквел - Metro: Last Light стремится повторить это вновь.
PC Games Hardware не упустил шанс поговорить с техническим директором компании 4A Games Олесем Шишковцовым, что бы дать Вам информацию про технологию рендеринга Metro: Last Light. Напомним, что игра является продолжением вышедшей в 2010 году игры Метро 2033, который уже поддерживал DirectX 11 тесселяции с GPU-Physx, 3D Vision и морфологическое сглаживание. Забегая на перёд - Metro: Last Light улучшает эти функции, но о бо всём попоряду:
PC Games Hardware: Metro: Last Light будет продолжением истории, представленной в Метро 2033. С технической точки зрания Вы сделали усовершенстования или изменили, что можете расказать нам?
Олесь Шишковцов: В целом, мы значительно улучшили внешний вид на открытых пространствах, монстров, людей, модели освещения(в том числе точное отображение), кинематографические эфекты, такие как глубина резкости, корекции цветов и т.д.. Полный список будет состоять из нескольких страниц
PC Games Hardware: Вы будете ли продолжать стратегию, что ПК версия будет выглядеть лучше и позволит техническим видео функциям, которые не могут реализованы на консолях, например разрешение текстур и лучшего освещения? Можем мы вновь ожидать мультисэмплинга-аналитического сглаживания в PC версии?
Олесь Шишковцов: Конечно. ПК версия будет иметь намного лучшее отображение, нежели раньше. И сглаживание будет намного лучше, нежели раньше(улыбается)
PC Games Hardware: Вы оптимизировали технологии используемые в Metro: Last Light под многопоточность? Если да, то можно подробности: разные модули игрового движка 4A Engine будут расчитываться на отдельных потоках? Каким образов структура работы выглядит? Используете ли Вы планировщик потоков и как справляетесь, ведь в Метро 2033 для GPU был очень большой объём работы.
Олесь Шишковцов: Метро 2033 уже был сделан под многопоточность, в результате чего нагрузка шла на все ядра. Движок не работает по схеме конкретный модуль - отдельный поток, поскольку это не даёт маштабных результатов. Вместо этого мы реализовали разбивку задачи(или работы) на разные ядра процессора. Во время большого объёма роботы у нас может возникать тысячи задач в кадре и отсутствие зависимости даёт свои плоды. Такого понятия, как специальны планировщик потоков - нет, вместо этого рабочие потоки исполняют те задачи, которые могут выполнить
PC Games Hardware: Ходят слухи, что Metro: Last Light будет также поддерживать 3D Vision и стереоскопическое 3D, если так, то как будете решать проблему с тем, что 3D отображение забирает много ресурсов у GPU? - имея ввиду, что особенности визуальных эфектов в Метро 2033 при DX11 были доступны при топовых видеокартах.
Олесь Шишковцов: Как Вы наверное знаете, Метро 2033 уже поддерживал Nvidia 3D Stereo. И это была есдинственная игра на тот момент, разработаная под эту технологию. В сиквеле эту технологию мы улучшили и настроили 3D восприятие на новый уровень. Думаю, что будем единственные в своём классе(улыбается)
PC Games Hardware: Вы сохраните поддержку GPU PhysX в Metro Last Light. Следует ли ожидать каких-либо улучшений, по сравнению с Metro 2033 (к примеру, физики мягких тел, мелких обломков или разрушаемого окружения) ? Какую видеокарту вы порекомендуете для игры с максимальной детализацией, в FullHD c антиалиасингом ? Что нибудь из видеокарт NVIDIA следующего поколения на чипе Kepler ?
Олесь Шишковцов: Да, можете ждать много улучшений, особенно в разрушениях и эффектах частиц. Видеокарты NVIDIA следующего поколения будут полностью поддерживаться.
PC Games Hardware: При тестировании Metro 2033 мы обнаружили, что игра использует больше четырех ядер при расчете улучшенных PhysX эффектов на многоядерном CPU – значит ли это, что вы уже используете PhysX SDK 3.x ? Улучшенные PhysX эффекты будут доступны только в PC версии ?
Олесь Шишковцов: То что PhysX 2.x нельзя распараллелить – обычное заблужение. Вообще то, он изначально создан многопоточным. Единственное – поддержка многопоточности (генерации задач) требует немного усилий от программистов, в основном для интеграции с задачной моделью движка и надлежащей балансировки нагрузки. Итак, так же как и Metro 2033, Last Light использует PhysX 2.8.3, разве что немного модифицированную версию на момент написания. И да, улучшенные PhysX эффекты будут доступны только на PC.
PC Games Hardware: Как и в вышеуказанном Метро 2033, особенности DX11 при визуализации были использованы все ресурсы даже топовых виокарт. Как следствие Вы пробовали оптимизировать графику за счёт движка для ускорения рендеринга с помощью функций DX11? Можете ли уже сказать, какие возможности DX11 будет предоставлять Last Light и которых не было в предшественике? И можете сказать, какие эфекты будут присутствовать только в DX11?
Олесь Шишковцов: Мы как и раньше используем вычеслительные шейдеры. Что касается производительности, самое интересное в том, что мы улучшили графику практически во всех местах, но производительность остаётся на уровне Метро 2033, а местами и лучше. На самом деле если не включить тесселяцию, то визуально всё останется прежним. Это потому, что контента, содержащего тесселяцию намного больше, нежели в оригинале. Что касается функций, то я бы сказал, что мы улучшили все.
PC Games Hardware: В Метро 2033 можно выбрать между DX9,DX10 и DX11. Какие визуальные и продуктивные разницы между ними? И если говорить о визуальных эфектах, то насколько будут изменения?
Олесь Шишковцов: DX9 многое не использует из других API и он есть самым быстрым за умолчанием. Но если выключить все API эфекты и работать на аналогической частоте кадров на одинаковом оборудовании, то DX 11 будет немного быстрее. Что касается эфектов, то 50% будут приходится на DX9, 30% на DX10 и ещё 20% на DX 11