LINUX.ORG.RU

Представители Valve раскрыли подробности оптимизации движка Source под OpenGL

 , , , ,


1

4

На конференции SIGGRAPH компания Valve публично продемонстрировала портированный для Linux игровой движок Source, на примере запуска в Linux игры Left 4 Dead 2. Одновременно была показана презентация, в которой были раскрыты подробности проведённой оптимизации, в результате которой движок Source с компонентом рендеринга через OpenGL, запускаемый в Linux, продемонстрировал более высокие результаты производительности, чем при использовании Direct3D при запуске игры в Windows 7 (315 FPS против 270 FPS). Докладчиком по данному вопросу выступил Рич Гелдрих (Rich Geldreich), автор открытой библиотеки Crunch, ныне работающий в Valve.

Наиболее интересные моменты:

  • В среднем, на видеокарте NVIDIA GeForce GTX 680, при использовании OpenGL движок на 11% быстрее, чем при использовании Direct3D. Предполагается, что можно отыграть еще около 5% путем оптимизации транслятора вызовов Direct3D в OpenGL.
  • Наиболее удивительным фактом является то, что движок работает быстрее, несмотря на то, что рендеринг производится путем транслирования Direct3D вызовов и абстракций в вызовы и абстракции OpenGL. При этом есть дополнительный слой — транслятор, что однако не помешало итоговой конструкции работать быстрее оригинала. Транслятор реализует маппинг Direct3D 9 в OpenGL практически 1 в 1.
  • В случае многопоточных видеодрайверов паразитная нагрузка от транслятора и OpenGL соотносится как 50/50. Однако, если видеодрайвер однопоточный, в вызовах OpenGL может быть потрачено до 80% времени, а в трансляторе лишь 20%. Отмечается, что компания NVIDIA проделала много работы по организации многопоточности в своем драйвере.
  • Valve сотрудничают с компанией Intel (которая недавно как раз представила очередную порцию изменений в драйвере по просьбе Valve), AMD и NVIDIA. Изначально у выполняющей работу по портированию для Linux команды Valve был довольно ограниченный опыт. В основном помогла тактика интенсивного профилирования с анализом где сколько времени тратится на различные вызовы. Целью было учесть каждую микросекунду.
  • Наиболее сложным было собственно профилирование. Во-первых, сам игровой движок многопоточный, что существенно усложняет его профилирование. Во-вторых, большинство средств профилирования не видит нить видеодрайвера, обрабатывающую запросы на рендеринг. В-третьих, у движка Source множество опций и он сильно масштабируем под разные конфигурации.
  • Кроме всего прочего, был использован инструментарий от RAD Game Tools под названием Telemetry.

Некоторые оптимизации:

  • поддержка многопоточности в режиме OpenGL;
  • убрано большинство вызовов glXMakeCurrent;
  • исправлено использование pthreads;
  • сокращен оверхед трансляции D3D->GL путем переписывания самых горячих мест;
  • улучшен dirty range tracking;
  • добавлен отдельный однородный массив для базовых матриц;
  • улучшено обновление динамических буферов и оптимизации настроек компилятора. Наиболее полезными в плане улучшения производительности было использование опции компилятора «-ffast-math» и отключение опции «-fPIC».

Новость взята с opennet.ru

>>> Подробности



Проверено: JB ()
Последнее исправление: JB (всего исправлений: 3)

Ответ на: комментарий от Orlusha

Кхм... А 32-разрядная убунта умеет использовать 32 ГБ ОЗУ?

шло второе десятилетие 21-го века, а трололо орлуша, как и лет пять назад газифицировал лужи, не зная о PAE ....

anonymous
()
Ответ на: комментарий от xtraeft

Ну почему куча бреда... это выдержки из воплей по тырнету об ужасном злодейском плане мелкомягких лишить пиратов хлеба, под прикрытием борьбы с вирусней. К панике присоединились все дистрибутивы. Федора решила присоединиться к Мелким. Убунта решила построить что-то свое с блэкджеком и шлю... И лишь Линус еще раз продемонстрировал свой знаменитый жест всем вокруг, сказав, что за $99 баксов можно купить у мелкомягких ключик, а тру-хакеры найдут способ достать его бесплатно, или расковыряют «замок» от ключика к чертям. На этом фоне Гейб схватился за голову, представив себе крепость мелкомягких (в случае, если хакеры не расковыряют «замок», и даже не найдут ключик), поняв, что его пнут при первом удобном случае, решил переехать в Линуксы, но давая понять, что это запасной план, и от прописки в крепости Мелкомягких Гейб все равно не откажется (а вдруг революции не случиться?).

Вот теперь это бред, но правдивый... эй... еще трава есть..??

ivanlex ★★★★★
()
Ответ на: комментарий от xtraeft

Да мне в принципе плевать. Лишь бы не раздумал на Линукс прийти.

ivanlex ★★★★★
()
Ответ на: комментарий от WatchCat

Про три ляма в месяц похожи ваши выдумки. 5 лямов платных игроков, это через несколько лет разработки и продаж. Это не считая расходов на поддержание инфраструктуры.

farafonoff ★★
()
Ответ на: комментарий от ivanlex

Это выдержки из других куч бреда. С пиратством никто бороться и не собирался, я думаю что цель создания secureboot соответствует заявленной - защита от вирусов.

farafonoff ★★
()
Ответ на: комментарий от farafonoff

Да - бред все это, как сами срачи, так и действия к ним побудившие. Мне этот secureboot вообще не нужен.

ivanlex ★★★★★
()
Ответ на: комментарий от farafonoff

Про три ляма в месяц похожи ваши выдумки.

Прикинем: 19 евро за игру(ЕМНИП столько он просил с самого начала) умножаем на 7 миллионов купивших и делим на 4 года(первая альфа появилась вообще-то в мае 2009-го, ну да ладно).
Итого получаем 2770833, что кагбе конечно чуть меньше 3-х лямов в месяц, ну так я и нызвал приблизительную цифру.
Ещё чё-нибудь интересное скажешь?

5 лямов платных игроков, это через несколько лет разработки и продаж.

7 лямов.

Это не считая расходов на поддержание инфраструктуры.

Нука-нука, просветите нас какие там у него охрененные затраты на инфраструктуру.

WatchCat ★★★★★
()
Ответ на: комментарий от xtraeft

мне всегда интересно, что такое игры AAA класса. это за которые издатели по 70 бакинских просят? или те которые в разработке имеют шестизначные цифры? а потом в продажах оказываються полным провалом )))

anonymous
()
Ответ на: комментарий от anonymous

или те которые в разработке имеют шестизначные цифры? а потом в продажах оказываються полным провалом )))

Игра Call of Duty: Modern Warfare 3 установила новый мировой рекорд, продемонстрировав самый успешный старт в истории развлекательной индустрии. Как сообщает издание The Hollywood Reporter, только за первый день продаж было реализовано более 6,5 миллиона копий игры, а совокупный заработок превысил 400 миллионов долларов. Таким образом, общие сборы франшизы Call of Duty превысили театральные сборы таких популярных кинематографических франшиз, как Звездные войны и Властелин колец. Эксперты компании Activision ожидают, что до конца года будет продано более 20 миллионов копий игры Call of Duty: Modern Warfare 3. Предыдущие версии игры зарабатывали более миллиарда долларов каждая. Финальный результат Call of Duty: Modern Warfare 3 будет явно внушительнее.

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

аааа... это которая коридорная стрелялка для школьников младших классов? в ней не хватает только кнопки «пройти игру». повеселил. понятно твое представление о играх AAA. :) ну впрочем другого и не ожидал. человек юзающий приставки и фапающий на приставочные игры, имхо, нищеброд-школьник. папа купил приставку, ни не разрешил к нормально апгрейженему папиному компу в ближайшие 7 лет подходить (такой, чтоли цикл у приставок по смене поколений?) :)

anonymous
()
Ответ на: комментарий от anonymous

Чего? Вон под маокм уже 100% рабочий OpenGL-рендерер работает. Вы не поняли? Direct3D транслируется в OpenGL НА ВИНДЕ, для сравнения, не на линуксе

движок Source с компонентом рендеринга через OpenGL, запускаемый в Linux, продемонстрировал более высокие результаты производительности, чем при использовании Direct3D при запуске игры в Windows 7

mittorn ★★★★★
()

«В основном помогла тактика интенсивного профилирования с анализом где сколько времени тратится на различные вызовы. Целью было учесть каждую микросекунду. »

Боже-ж ты мой, миллионнная доля секунды. Новость позитивная, молодцы что оптимизируют и драйвера, и движок! ..Вот с кого надо брать пример разработчикам некоторых движков, на основе которых - продукты, которые хоть и терпимо, но все же пока подтормаживают на моем зоопарке ПК

pleasure
()

Это известно, что OpenGL быстрее Direct3D. Когда-то давно Windows монополизировала рынок ОС. Затем она сделала свою кривую реализацию OpenGL под виндоус и начала всем втюхивать более быстрый Direct3D. Комитет по развитию OpenGL долго ругался с Майкрософт, даже сделал свою реализацию OpenGL под виндоус, которая была быстрее Direct3D. В конечном итоге Майкрософт все-таки мастерски монополизировала рынок графических интерфейсов.

RR42
()
Ответ на: комментарий от lexxus-lex

Этот похороникс уже обещал 2 года назад, что стим выйдет аж через месяц и привели картинку с запущенным стим клиентом в wine)))

4.2

На самом деле, Ларабель и сотоварищи нашли на сервере Steam Store куски бинарников клиента Steam для Linux и с помощью отладчика пытались его запустить.

X-Pilot ★★★★★
()
Ответ на: комментарий от ist76

За пятнадцать лет от кваки осталось чуть менее чем нихрена

po1s0n
()
Ответ на: комментарий от lexxus-lex

а запустили они STEAM через wine.

Пруф был даже у них на скриншоте.

lexxus-lex ★★★
()
Ответ на: комментарий от anonymous

приставочные игры
нищеброд

/0

твое представление о играх AAA. :)

это не мое представление, а устоявшийся термин

xtraeft ★★☆☆
()
Ответ на: комментарий от Reset

Графика — фигня, в процессе её перестаешь замечать, а вот убогость контроля на приставках, это да.

dr_dobermann
()
Ответ на: комментарий от ist76

Да мне одного кейно-линча хватило, чтобы с этим делом завязать. Все там убого так ...

dr_dobermann
()
Ответ на: комментарий от Jaga

обалдеть насколько на первый взгляд новость выглядит умнее ее комментаторов вместе взятых

anonymous
()
Ответ на: комментарий от lexxus-lex

Этот похороникс уже обещал 2 года назад, что стим выйдет аж через месяц и привели картинку с запущенным стим клиентом в wine)))

Хватит молоть чушь. Я лично качал этот клиент и нужно было патчить бинарник, чтобы он запускался, но это был нативный клиент с зачатками GUI.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от pevzi

Под Wayland он, по видимому, даже если и будет работать, то очень не скоро?

Wayland не поддерживает ничего, кроме OpenGL ES. На данном этапе это проблема Wayland, а не разработчиков игр.

RussianNeuroMancer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.