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)

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

Стимовской учётке всё равно под какой системой ты её запускаешь, просто если в стиме нет порта этой игры под мак, то она не будет скачиваться и запускаться.

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

we will go back and figure out how to mitigate this effect under Direct3D.

лучше бы mitigate сам богомерзкий Direct3D, вот это было бы православно.

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

ivanlex> А вот энтузиасты, утекший код SourceEngine сравнивали с кодом от Id и совпадений не нашли.

Кармак таки нашёл. И код из Quake, и код из Quake 2.

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

Как бы он не говорил, что искал. Он просто утверждает... ;-) Просто обидно ему, что его детище проиграло движку конкурентов, которое в техническом плане не лучше, но популярнее... Обидно мужику. А теперь уже совсем его добили, приходом Valve на Линукс... Бедный бедный Кармак. Надеюсь он передумает, когда увидит успех Valve. (Я не пишу «если», потому что верю, что это все таки «когда»)

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

ist76> Я пока вижу совсем другой итог. 4 абсолютно разные кармаковские игры под линукс, которые много лет есть и работают

И есть они вовсе не по воле Кармака, если что. И под линукс их никогда не продавали. Польза от id - исходники движков.

ist76> и одна игра от вальвы, про которую все вокруг говорят, но которой пока нет

Она есть. Просто не стали пока релизить - движок отлаживают и готовят выпуск. То, что она работает - факт. И релизнут со стимом.

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

Приставки — это для тех, кому нравятся игры, вышедшие только под приставки, всего-то.

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

Да. Можешь купить диск с L4D2 под венду, прийти домой и активировать в стиме. Затем на OS X поставить.

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

ivanlex> Просто обидно ему, что его детище проиграло движку конкурентов, которое в техническом плане не лучше, но популярнее... Обидно мужику.

Дык, ССЗБ. Движок нифига не продвигал, в отличие от...

ivanlex> А теперь уже совсем его добили, приходом Valve на Линукс...

Кармак никогда на линукс не смотрел. А сейчас внезапно стало ему обидно, что сообщество вовсю хвалит Valve.

ivanlex> Надеюсь он передумает, когда увидит успех Valve.

Или уйдёт в рабство на игровые консоли, которые он так нахваливал не так давно. У id проблема именно в том, что id даже не пыталась на линукс пробиться - всё делалось по инициативе Тимоти Бессета. Так что Кармак заслуженно получил по шапке от сообщества.

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

А в Source это все есть и работает

и работает на порядок лучше. Source на интегряшке и довольно таки бюджетной корке летает плюс обсчёт физики и прочие ништяки. Чего не скажешь о Darkplaces, в котором и физики нет.

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

Навскидку:

Heavy Rain

sh2 и поныне и присно и вовеки веков. остальное от лукавого.

Gran Turismo

гоночки это вообще в лепрозорий к футбольным менеджерам и симуляторам гардероба куклыбарби

Little Big Planet 1-2, Killzone 1-2-3, Resistance 1-2-3,

не знакомые товарищи... килзон - это очередная йоба постреляшка про очередного футуристического марина? в топку, срочно.

Mortal Kombat

dosbox/dosemu тебе в руки

Twisted Metal

нучно ли мне упоминать ИМЯ ВЕЛИКОГО и УЖАСНОГО? кстати, не забудем, что бритты обещают новый и на Линуксе!!!111 а вы про какой-то метал. икру метал.

кстати, твой ник сильно напоминает название главной по эту сторону от милки-вэя игры про четырехколесных друзей человека. и эта игра наглядно демонстрирует (даже спустя 15 лет после выхода... а ведь чуть 10 по привычке написал. долго подсчитывал, сколько же прошло, сам удивился) что такое тру-игра и чего никогда не было и не будет на приставочках. посему последние и не нужны.

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

Просто обидно ему, что его детище проиграло движку конкурентов, которое в техническом плане не лучше, но популярнее... Обидно мужику.

Ты вот это сейчас серьёзно? Именно так себе представляешь происходящее в голове дяденьки, которому идёт пятый десяток?

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

Мультиплатформа - да, выглядит на PC поживее, её имеет смысл играть на PC

Если брать тот же масс эффект и крузисы - из-за консолей на них пришлось делать хреновую графику. Хотя тут ещё и вина разработчика есть - не захотели потратиться на отдельную версию для PC (в отличие от DICE с BF3).

Плюс традиционная беда консолей - вечно нужно тыкать комбо, или 100500 раз быстро нажать одну кнопку, чтоб сделать какое-то действие (яркие примеры: кампания в bf3, gta SA - тыкать 2 кнопки поочерёдно и очень быстро - на клаве не самое приятное занятие), - всё это есть дебильное наследие консолей.

Crysis2 по сравнению с первым диком упростили, и всё в угоду консолям (в итоге только 3 режима: обычный, защита и невидимость).

Ну и да: поиграй в шутер на консоли. Это же адок просто. Видимо поэтому в BF3 у консолей свои серверы и сервисы, у PC - свои (иначе с клавой и мышкой консольщиков щемили бы в хвост и гриву).

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

Это просто отлично. У меня как раз там завалялась HL2, надеюсь что адаптируют.

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

есть они вовсе не по воле Кармака, если что.

Чего уж там, пиши сразу - вопреки. Кармак хотел всё закрыть, да попрятать, но коммунити ему не позволило. Сюрр какой-то.

Польза от id - исходники движков.

Польза от id - минимум четыре нативные игры ААА-класса, которые можно играть уже много лет.

Она есть. Просто не стали пока релизить - движок отлаживают и готовят выпуск. То, что она работает - факт. И релизнут со стимом.

Её пока нет. Ни в магазине ни на ФТП. Пока только слова.
Помнишь, как оно с UT3 было? Тоже всё было, тоже вот-вот.

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

Справедливо. Со всем согласен. Но о заслуге Кармака в открытии исходников я не забудут. И надеюсь никто не забудет. Жаль мужика...

Интересно, а где сейчас Тимоти трудиться? Ему бы у Valve самое место.

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

Если бы он отнесся к этому спокойно, он бы просто проигнорировал данный факт. Но, как мне кажется, его данный факт задел...

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

id даже не пыталась на линукс пробиться

Больно нужны эти 0.5%.

Кармак заслуженно получил по шапке от сообщества

Так называемое «сообщество» слишком высокого о себе мнения. Вопли горстки фанатиков на форуме никакой погоды Кармаку не делают.

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

Исходя из того, что на QuakeCon2012 он данный факт прокомментировал, как бы оправдываясь, почему не будет порта Rage.

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

И где там про обиду? Вот подходит к тебе в пятницу вечером начальник и просит поработать пару часов сверхурочно. Бесплатно. А ты ему говоришь, что забесплатно пусть он со своей мамой в подсобке работает. Надо это понимать, что ты обиделся?

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

Школьник-графодрочер?

Нет. Просто люблю красивую графику.

Да и потом, в BF3 удобнее играть с клава+мышь и логитек экстрим 3д (для хели и джетов).

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

они как раз и составляют 90% приставочной аудитории. просто папка к компу подходить не велит.

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

Я?! Нет. Ко мне это никакого отношения не имеет. Кармак сам решает что ему делать, и кто его целевая аудитория. На сегодняшний день, его целевая аудитория - пользователи консолей, а порт на линукс - лишь трата ресурсов, которая не окупается. На этом точка, поставленная Кармаком. Надеюсь, что в будущем он исправит ее на запятую, но сегодня это точка.

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

Да и потом, в BF3 удобнее играть с клава+мышь и логитек экстрим 3д (для хели и джетов).

А в MK и LBP интереснее играть дуалшоком. И что это доказывает?

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

И, кстати, согласно тем же Id, аудитория Линукс-игроков в QuakeLive составляла около 5%. А это уже существенный профит, и потеря такой прибыли - все равно потеря.

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

О том и речь. Кармака спросили, почему нет порта под линукс. Кармак ответил: денег такие порты не приносят, а за респект работать неинтересно. Где здесь обида, совершенно непонятно. Но стая аналитиков тут же увидела - Кармак завидует, Кармак обиделся, Кармак ничего не понимает, Кармак вообще не нужен! Смешно же.

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

Что дуалшок можно подключить к ПК, и тогда не нужна консоль?

Беда не в дуалшоке, а в том, что на консолях есть интересные игры, которых нет на ПК.

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

Так же есть интересные игры, которых нет на консолях. Во многие игры возможно играть только на ПК. Плюсы консоли так же слишком существенны. Есть игры, в которых консоли и ПК являются конкурентами. Есть игры, где консоли и ПК никогда не пересекутся.

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

И, кстати, согласно тем же Id, аудитория Линукс-игроков в QuakeLive составляла около 5%. А это уже существенный профит, и потеря такой прибыли - все равно потеря.

ты забыл упомянуть, что эта аудитория не покупала премиум

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

Ну да. Я же не говорю «только консоли» или «только ПК».
Но вообще, консоль - чертовски удобная штука.

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

Но вообще, консоль - чертовски удобная штука.

плюсую

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

действительно... вряд ли покупал... Но рекламу то смотрела, а реклама, она тоже доход приносит :-) Ты посмотрел, я посмотрел, тысячи людей посмотрели, а Id от этого профит. А так на 5% меньше бы посмотрело. ;-)

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

А в MK и LBP интереснее играть дуалшоком. И что это доказывает?

Играю только в BF3 - мне консоль не нужна.

Да и вообще - в любой шутер удобнее играть на клаве. Так что «шутеры» на консоли - это вообще адок.

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

хватит нести херню, реклама там вообще не дает профита практически.

по замыслам id упор берется на продажу премиумов

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

Но они есть. И пусть их будет побольше! Больше стратегий и RPG с вминяемым сюжетом. Жаль, что сегодня все игроделы делают упор на графику, забывая об интересном сюжете.

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

Жаль, что сегодня все игроделы делают упор на графику

Что покупают, то и разрабатывают.

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

Да и вообще - в любой шутер удобнее играть на клаве.

Ты сколько консольных шутеров прошёл на консолях, чтобы иметь такую уверенность?

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