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)

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

ist76> Её пока нет. Ни в магазине ни на ФТП. Пока только слова.

Уже не только слова, но и выступления на конференции с битьём пяткой в грудь, что выпустят.

ist76> Помнишь, как оно с UT3 было? Тоже всё было, тоже вот-вот.

Не было нифига кроме поминания украдкой от Icculus и скриншота. Epic Games вообще ничего не говорили и не обещали, а также не анонсировали и всячески открещивались. Valve обещала. Так что не неси чушь.

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

Тимоти Бесет ушёл работать в Frozen Sand над Urban Terror HD.

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

anonymous> Вопли горстки фанатиков на форуме никакой погоды Кармаку не делают.

Да нет, делают, раз он рсплакался.

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

Эту долю сами же id себе и сделали, как только на релизе игра перестала работать вообще. Это, кстати, одна из причин, почему я из Quake Live смылся вообще.

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

А почему он тогда про Valve начал говорить? Ты явно не в курсе того, что конкретно он сказал. В его словах была явная обида.

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

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

И все они идут на эмуляторах денди и сеги.

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

Ты явно не в курсе, сколько денег приносит реклама.

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

ааа класса

Не интересуюсь по большей части.

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

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

Мне хватило пару раз поиграть в шутер на консоли, чтоб понять - это адок.

На консоли удобно играть во всякие аркадки там. Ассассин Крид, Масс Эффект. Мортал комбат, опять же.

Есть вариант упрощения шутеров, всякие там помогалки в наведении и прочее. Но благодаря им шутеры в целом стали скатываться в УГ.

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

lipstick> в steam цены на приличные игры начинаются от 500.

4.2

Хотя на том же GOG.com подешевле есть отличные игры

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

По-моему ты просто идиот. Проблема с тем, что Quake Live перестал работать сразу, как только зарелизился, возникла ВООБЩЕ У ВСЕХ - на форумах дикий вой был. Так что помалкивай в тряпочку. И, быть может, за умного тогда и сойти сможешь.

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

уже давно покупаю игры Steam, наверное как перестал быть студентом))))

осталось уже вырасти из игрушек и таким образом выпилить себя из задротов.

AVL2 ★★★★★
()

Краники молодцы.

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

т.е. оно так прибито гвоздями к прямому3д, что приходится лепить такое?

Оно на нем как бы написано.

вот бы его прикрутить к wine и хорошим винтажным играм поможет, а валве наконец будет нужна. эх, мечты.

Давно уже сделали и прикрутили, а ты все мечтаешь.

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

Нищеброд, что ли? Бутылку пива приравниваешь к долгим часам игры.

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

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

Ну конечно. Поищи в несвежих новостях про кикстартер, как какая-то игруха очень резко набрала два ляма, причем около 30% суммы дали красноглазые нищеброды, те самые которых 0,5%

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

Да, будет 51%

fixed

Ты упоротый фанатик. Никогда не видел, чтобы виндузятники не переходили на линукс из-за отсутствия игр.

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

причем около 30% суммы дали красноглазые нищеброды

Где эти красноглазые нищеброды были, когда Loki Software обанкротилась?

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

два ляма

Вот это да. На миску доширака хватит? Посмотрел бы на бюджеты AAA игр, не позорился бы.

anonymous
()

Где иксохэйтеры? Где ckotinko? Это уже чёрт знает какой тред на эту тему, а они никак не явятся за положенной порцией говна.

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

Если Valve создаст рынок и индустрию игр на Линуксе, то это будет уже не 0.5%

Правильно, это может стать тем самым легендарным вендекапцом. Если Линакс станет платформой, на которой можно полноценно поиграть, то многие игруны задумаются, бежать ли покумать стремную Восьмерочку с антивирусами или загрузить бесплатный Линакс, где модные игрушки идут не хуже, чем там. Не секрет, что главный аргумент установки Шиндошс на компьютер - запуск игр.

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

загрузить бесплатный Линакс, где модные игрушки идут не хуже, чем там

Ага, если они вообще запустятся.

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

Где эти красноглазые нищеброды были, когда Loki Software обанкротилась?

А где, ты считаешь, они должны были быть? И почему ты считаешь, что должны? И почему бы тебе не спросить об этом их самих? Заодно и объяснил бы им, какое они говно и ненужно.

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

Ага, если они вообще запустятся.

Про то и речь, что если начнут запускаться.

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

А где, ты считаешь, они должны были быть?

Они должны были быть в магазине, покупать YOBA игры от Loki Software.

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

Они должны были быть в магазине, покупать YOBA игры от Loki Software.

Прям как сейчас помню, все магазины были завалены играми от Loki Software.

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

Не позорился бы, сходил бы в тот тред, пока все жуки в лужах не передохли от передозировки метаном.

anonymous
()

а когда на macosx они портировали - где новости про opengl были?

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

А че так скромно? Сразу уж отписать им все имущество, органы, и пить йад, купленный в следствии вышеуказанных манипуляций в кредит.

anonymous
()

Обещаю купить всю серию hl после выхода hlep3 на linux

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

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

Не все.
Кстати, сюжет тоже не обязателен, главное геймплей.
Пример Нотча очень показателен, сколько он там только на PC продал копий, миллионов пять? И это не считая 2 млн на XBLA.
А ведь там ни сюжета, ни YOBA-графики.

WatchCat ★★★★★
()

убрано большинство вызовов glXMakeCurrent

Эту функцию достаточно вызвать всего 1 раз — при создании контекста. Куда они ещё вызовы понапихали, что пришлось убирать?

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

уже давно покупаю игры Steam, наверное как перестал быть студентом))))

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

Т.е., если играть пусть даже раз в неделю-две, то уже задрот?

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

glXMakeCurrent

Эту функцию достаточно вызвать всего 1 раз

Сразу видно специалиста, не написавшего ничего сложнее вращающегося треугольника на OpenGL.

anonymous
()

Valve сотрудничают с компанией Intel (которая недавно как раз представила очередную порцию изменений в драйвере по просьбе Valve)

Нехило так…

mix_mix ★★★★★
()
Ответ на: Движок туда, движок сюда от anonymous

*Зевая* Покажите мне хоть один движок с нормальным тулчейном. Всё что от id и базируется на них (iodoom3, darkplaces) - напилено программистами для программистов. А игры делаются не программистами, игры делаются контентщиками.

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

Вопрос то в том, насколько эта скорость оправдает средства. То есть кроме переписывания существующего кода придется еще и поддерживать 2 версии.

У меня распрекрасно работал OpenGL под офтопиком.

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

Сразу видно специалиста, не написавшего ничего сложнее вращающегося треугольника на OpenGL.

В id, видать, тоже неосиляторы работали/работают, раз у них тоже всего один обязательный вызов glXMakeCurrent на весь Doom 3 (два других по дефолту выключены и принудительно включаются только для бенчмарка). Куда уж им до тебя...

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