Представляем вам любительский перевод поста с блога Valve, посвященном Linux.
Прошу прощения за возможные огрехи перевода (тем более, что он вольный).
Также прошу прошения за склонность переводчика (т. е. меня) сокращать некоторые участки текста. Впрочем, смысл от этого не меняется.
*************************************
Быстрее, Зомби!
Один из самых важных факторов, влияющих на впечатление игрока о созданной игре, является производительность. Любой разработчик ПО скажет вам, что повышение скорости работы – весьма трудная проблема. Данный пост рассказывает о том, что мы узнали нового о производительности наших игр, запущенных на Linux.
Для простоты рассказа, мы запускали все игры на следующей мощной конфигурации:
Железо:
# Intel Core i7 3930k
# NVIDIA GeForce GTX 680
# 32 GB RAM
ПО:
# Windows 7 Service Pack 1 64-bit
# Left 4 Dead 2
# Ubuntu 12.04 32-bit
P. S. Мы используем 32-битную версию линукса временно, и потом добьемся запуска наших игр на 64-битной версии.
Запустив Left 4 Dead 2 на Windows 7 с драйверами Direct3D, мы получили 270.6 FPS в среднем.
Эти цифры были получены с помощью наших собственных внутренних средств измерения скорости.
Когда мы запустили игру на Linux-е в первый раз, сделав над ней минимальные изменения, чтобы она только запускалась, мы получили 6 FPS. Это абсолютно нормальные цифры для начала портирования на новую платформу.
В чем же тогда заключаются основные причины падения производительности? Мы выделили три цели для улучшения FPS:
1 — Заставить Left 4 Dead 2 лучше работать с ядром Linux
2 — Модифицировать игру для лучшей работы с OpenGL
3 — Оптимизировать драйвера для видеокарты
Для примера, первая цель подразумевает переписать наш распределитель памяти, что бы лучше использовать возможности линукса. Это было достигнуто переделкой некоторых частей движка Source. Вторая цель предполагает переделывание графической части движка, заменив вызовы функций DirectX на OpenGL, и опять же оптимизировать.
Третье направление оптимизации является наиболее интересным, поскольку мы работали с производителями видеокарт с целью выявить ошибки в их драйверах и исправить их, что положительно сказывается на скорости работы 3D на всех играх. В итоге наша совместная работа с другими компаниями позволила значительно улучшить дрова.
После всего, что было сделано, Left 4 Dead 2 летает под 315 FPS на Linux. Тот факт, что зомбаря на линуксе рендерятся быстрее, чем на Windows — 270.6 FPS, несколько нелогичен, тем более что у нас раньше оптимизация в Windows заняла гораздо больше времени. Однако это говорит о гигантских возможностях, лежащих за Linux. Между прочим, оптимизировав OpenGL, Left 4 Dead 2 теперь работает на Windows с этими параметрами под 303.4 FPS.
OpenGL vs. Direct3D & Windows 7
Все это ведет к вопросу — почему же OpenGL работает быстрее, чем DirectX?
Мы провели анализы, и обнаружили, что на каждый вызов функции batch в DirectX имеется задержка на несколько миллисекунд. В OpenGL такой проблемы нет. Теперь мы знаем, что мы можем добиться большего, и будем искать способы избавиться от этой задержки и ускорить зомбарей под Windows.
Работа с производителями железа
Мы работали с NVIDIA, AMD и Intel для того, чтобы улучшить драйвера их видеокарт для Linux. Когда кто-то открывал баг, нам становилось очень приятно от нашего тесного сотрудничества.
Все это — пример совместной работы между разработчиками ПО и железа, и наша работа должна поспособствовать дальнейшему развитию Linux как платформы.
***************************************
Оригинал
Хм. Судя по всему, Valve серьезно занялась портированием. Интересно, а в качестве операционки для Steam Box (придуманное кодовое название для их «компьютера для гостиной») она выберет диструбтив Ubuntu, какой-нибудь другой или сделает свой?
***************************************
UPD: Небольшой оффтоп. На официальном сайте Ubuntu появился обратный отсчет, который должен закончится сегодня в 22-00 по Москве. Вряд ли это связано с играми, судя по надписи, однако… Что-то будет интересненькое…
***
Отсчет закончился. Вышла версия Ubuntu для смартфонов.
Официальная страница
Новость на русском
Ubuntu now fits your phoneIntroducing the superphone that’s also a full PC
***************************************
Оставляем свои мнения и комментарии.
Лучшие комментарии
впечатления — линукс готов к играм за исключением нескольких вещей
1: кривейшие драйвера у ati.дофига времени мучался с ними. то бишь драйверописатели забивают на линукс
2: некоторые баги, свойственные бете
а так тормозов почти нету, желаю Valve успеха
Оригинал был опубликован в блоге Valve ещё 1 августа (автор поста дал ссылку на него в теме) и эта тема уже затрагивалась на СтопГейме несколько раз. Впрочем, отдельный пост может оказаться полезен. Да и Valve свой linux-блог обновляет редко, более актуальная информация и обсуждение есть, например, на хабе.
В 22-00 по Москве.
2. причем тут баги, бета и «линукс готов к играм за исключением вот этого пункта»? Ты наверное хотел сказать, что steam готов для linux'а за исключением тех самых вещей, о которых написал?
А переведено хорошо, нареканий вроде нет. Дистрибутив, мне кажется, они сделают свой, скорее всего с интегрированным в него steam big picture
Да все так, кстати сейчас уже действует Open Linux Beta (то есть может любой желающий принять участия в тестировании). В принципе на многих дистрах (исключая Ubuntu 12.04 и 12.10, которая заявлена как официальная линейка для поддержки) steam уже бегает (правда не без ошибок, мелких и средних масштабов, для их решения было бы хорошо вооружиться знаниями английского, многие солюшены сейчас доступны в основном на нем).
Из доступного всего пока 40 игр. Из игр валв есть пока что только team fortress 2 (все остальное будет портировано позже). Вроде бы вся интересная инфа спустя новости (которая переведена в топике), которая может быть кому-то интересной.
Судя по всему, это будет телефон Android, только с большей поддержкой аппаратных платформ и без Java.
www.phoronix.com/scan.php?page=news_item&px=MTI2NzQ — первая статистика по % использованию Linux'а в steam'е
www.phoronix.com/scan.php?page=news_item&px=MTI2NTk — инфа о Valve'овской консоли, а вот выдержка из статьи:
Как я уже ранее сказал, она должна выйти в 2013 году и быть упакована на чистом Linux окружении (не Android) и должна быть более открытой игровой платформой, чем PS или XBox, для разработчиков и студий, которые ищут способы дистрибьюции их основных тайтлов в Steam (моя кривоватая перевода)
Плюс различные мелочи о том, что THQ тоже бы вроде посматривают в сторону Linux'ов и у них есть проект на Unity3d, который возможно даже портанут (но это конечно Valve и steam не касается).
П.С. linux: bodhi 2