Российская компания Gaijin Entertainment портировала популярные видеоигры своей разработки War Thunder, CRSED: F.O.A.D. и Enlisted на ПК с процессором «Эльбрус-8С». Производительность оказалась сравнимой с аналогичной системой на Intel Core.
Российская компания Gaijin Entertainment завершила эксперимент по портированию созданных ею ресурсоемких видеоигр на процессорную платформу «Эльбрус» компании МЦСТ. Разработчики полагают, что им удалось добиться достаточно высоких результатов при запуске версий War Thunder, CRSED: F.O.A.D. и Enlisted.
Так, частота смены кадров в военном онлайн-симуляторе War Thunder при настройках графики Maximum держалась на уровне более 60 кадров в секунду (frames per second, FPS), а в онлайн-шутерах Enlisted и CRSED: F.O.A.D. составляла более 30 FPS.
«Современные 3D игры — одни из наиболее ресурсоемких приложений, — отметил Константин Трушкин, заместитель гендиректора по маркетингу МЦСТ. — Перенос Gaijin Entertainment своих продуктов на платформу "Эльбрус" позволил не только убедиться, что производительность процессора "Эльбрус-8С" находится на высоком уровне, но и найти в ходе портирования несколько ошибок в исходных кодах, вызванных недостаточно строгим следованием стандарту С++».
Как заверил Константин Трушкин, позитивные результаты практической проверки в видеоиграх показали зрелость архитектуры «Эльбрус», ее универсальность и готовность к работе с современными вычислениями.
Согласно экспертному мнению разработчиков из Gaijin Entertainment, российский процессор «Эльбрус-8С» уже «можно считать подходящим для запуска современных игр», тем более, что 30-40 FPS, хотя и не рекорд по нынешним меркам, но вполне достаточно чтобы поиграть против ботов, а более 60 FPS в War Thunder можно считать успешным результатом. На следующем этапе в Gaijin Entertainment намерены ознакомиться с возможностями процессора «Эльбрус-8СВ» пятого поколения.
Как пояснил Константин Трушкин, при запуске тех же игр и подобных приложений на процессорах «Эльбрус-8СВ» никаких сложностей или проблем не ожидается. Разница лишь в том, что в отличие от четвертого поколения, процессоры «Эльбрус-8СВ» пятого поколения поддерживают ряд новых технологий и функций, которые не смогут проявить себя на старом ПО. Дальнейшая оптимизация программных инструментов под возможности новых процессоров обеспечит соответствующий рост производительности.
Итоги эксперимента в МЦСТ оценили как очень важные для дальнейшего развития экосистемы «Эльбрус». В компании надеются на дальнейшее сотрудничество с Gaijin Entertainment и готовы оказывать коллегам помощь при работе с новыми поколениями процессоров «Эльбрус».
На вопрос о перспективах поддержки процессорами производства МЦСТ мощного графического ПО Константин Трушкин рассказал, что сегодня большая часть таких «тяжелых» приложений, например, в области САПР, как правило, обеспечены поддержкой платформы Windows, однако по мере появления версий под Linux их портирование под «Эльбрусы» не займет много времени и ресурсов, тем более что 512-битная ширина команд VLIW-процессоров «Эльбрус» подтвердила высокую эффективность в работе со сложными графическими задачами.
Так, еще в 2016 г. CNews сообщил об адаптации компанией «Тесис» при участии МЦСТ первой системы для инженерных расчетов Flowvision. По словам Константина Трушкина, современные процессоры «Эльбрус» готовы к работе с подобными комплексными нагрузками и могут обеспечить достаточно высокую производительность. В настоящее время МЦСТ сотрудничает с рядом российских компаний, в том числе, по вопросам переноса приложений класса САПР на платформу «Эльбрус».
Константин Трушкин также рассказал о том, что разработчики МЦСТ проводят исследования в области применения процессоров «Эльбрус» в связке с графическими картами для ускорения научных и прикладных вычислений, в том числе, для задач машинного обучения.
В частности, в настоящее время уже проведена полноценная адаптация экосистемы «Эльбрус» для API OpenCL, и системы с графические картами AMD показывают высокий уровень производительности. С видеокартами Nvidia, по словам Константина Трушкина, ситуация пока сложнее — ввиду закрытости их кода, но в МЦСТ работают над этим вопросом.
Для экспериментов по портированию игр на микроархитектуру «Эльбрус» и тестового сравнения использовалась рабочая станция «Эльбрус 801-РС» на базе серийно выпускаемого с 2016 г. восьмиядерного процессора «Эльбрус-8С» четвертого поколения с тактовой частотой 1,3 ГГц. В тестах использовалась система с видеокартой AMD Radeon R9 380 и 32 ГБ оперативной памяти DDR3 под управлением ОС «Эльбрус Линукс 6.0 rc3», с Vulkan и компилятором LCC 1.25.09.
Для сравнения была выбрана аппаратная платформа, схожая по годам разработки и производительности, на базе процессора Intel Core i5-3570 с тактовой частотой 3,4 ГГц, видеокарты Nvidia GeForce GTX 960, 16 ГБ оперативной памяти DDR3, под управлением ОС Windows 8.1.
Игра War Thunder запускалась в оконном режиме с разрешением 1908×1040, настройками графики Maximum и настройкой «Tire/tracks marks» в «None». Игры Enlisted и CRSED запускались в оконном режиме с разрешением 1908×1040, настройками графики по умолчанию и отключенной Global Illumination.
При тестировании War Thunder в режиме тестового выезда на танке (сразу после загрузки, без движения техники) система на «Эльбрус-8С» показала примерно 82 FPS, система на Intel Core i5-3570 — порядка 70 FPS.
В игре Enlisted с одним игроком и тремя ботами «Эльбрус» показал порядка 30 FPS, Intel Core — 75 FPS, в бенчмарке CRSED было достигнуто 43,6 FPS и 90,5 FPS, а в игровом режиме CRSED с одним игроком и пятью ботами — 35 FPS и 95 FPS, соответственно. В неожиданно низком результате для ПК в первом и четвертом случае, по мнению разработчиков, скорее всего виновен драйвер Vulkan для Windows.
Игры War Thunder, CRSED: F.O.A.D. и Enlisted работают на движке Dagor 6.0 собственной внутренней разработки Gaijin Entertainment. В настоящее время они доступны в коммерческих версиях для ПК и различных консолей, включая PlayStation 5 и Xbox Series X/S.
«Мы постоянно работаем с самыми разными платформами, и очень здорово, что новое интересное железо разрабатывается и в России, – отметил Антон Юдинцев, сооснователь Gaijin Entertainment. – Нам было очень интересно узнать, насколько отечественный процессор, построенный на необычной архитектуре VLIW, способен работать с играми на нашем движке».
По словам разработчиков, ранее под «Эльбрус» компилировали только старые игры с открытым исходным кодом, и вопрос сложности переноса современных игр и возможности их запуска с комфортной частотой обновления экрана долгое время оставался открытым.
Портирование производилось на основе Linux-версии War Thunder, что позволило свести процесс к написанию всего нескольких сотен строк кода. В процессе компиляции War Thunder c драйвером OpenGL 3 и запуска с Vulkan, по словам разработчиков Gaijin, возникли сложности с компилятором шейдеров в драйвере Vulkan, что в итоге привело к невысокому показателю FPS в War Thunder, а Enlisted и CRSED и вовсе не работали.
Здесь на помощь пришли разработчики МЦСТ, которые в итоге обогатили программную экосистему «Эльбрусов» полноценной поддержкой популярного и востребованного API Vulkan, а также обновили графический стек, обновили Mesa до версии 20.1.8, что в итоге позволило использовать компилятор шейдеров Valve ACO с открытым кодом и ускорить компиляцию шейдеров в Vulkan.
В итоге разработчикам Gaijin Entertainment удалось в игре War Thunder нарастить количество обновлений экрана в секунду в разы, а в играх Enlisted и CRSED: F.O.A.D. добиться стабильного превышения 30 кадров в секунду.