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)
Ответ на: комментарий от WatchCat

Я куплю. Наверное таких как я - не один. Цена игр в Steam очень демократична, особенно учитывая плюшки Steam-аккаунта. Буду очень ждать так же выхода модов на Source под Линукс (в частности буду ждать появления Zombie Panic Source).

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

Да я тоже куплю, вот только остаётся вопрос, а сколько же нас таких?
Хотя я не думаю что вальвовцы альтруистичны и не провели исследований, но всё-таки.

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

Мне вот интересно, теоретически портируют, например, HL2 с эпизодами под онтопик, а под них есть куча модов, как они будут себя вести? Удастся в BMS, например, поиграть?

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

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

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

Ну раз уж и DNF вышел. Вопрос только когда :)

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

Jaga> Мне вот интересно, теоретически портируют, например, HL2 с эпизодами под онтопик, а под них есть куча модов, как они будут себя вести? Удастся в BMS, например, поиграть?

Будут они себя вести не хуже, чем под OS X. Короче - главное, чтобы разработчики модов собрали их под линукс. Это первая квака была написана на платформе типа жабы, поэтому все без исключения игры под движок первокваки распространяются в виду байт-кода. А со второй кваки всё уже собирается под конкретную платформу в виде библиотек.

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

В него уже можно играть? Он же еще не закончен?

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

Цена игр в Steam очень демократична

Чего? Демократичная цена - это 50, максимум 100 рублей. А в steam цены на приличные игры начинаются от 500.

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

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

4.2

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

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

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

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

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

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

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

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

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

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

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

Чёрт его знает, смотря какой мод. Во всяком случае smod 32 под вайном шёл нормально.

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

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

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