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)

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

Вот ты занятный. Ну нравится тебе сидеть перед телевизором и тыкать в геймпад, всё понятно. Почему же ты приходишь в каждый тред об играх под линуксом повонять, что, дескать, консоли крута под линуксом игорь тонет а што есть то убогий ацтой? Мне правда интересно.

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

консоли крута под линуксом игорь тонет а што есть то убогий ацтой? Мне правда интересно.

не вижу в этом треде такого

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

Но раз реклама есть, то значит за ее размещение кто то платит. Разве нет? Пусть это и не основной доход, но все же он присутствует.

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

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

Да. Если бы не обиделся, сказал бы что-нибудь про Трудовой кодекс.

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

Подключи комп к телевизору, какая проблема?

в габаритах компьютера

да и не потянет наверное моя слабая 6770m такое

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

в габаритах компьютера

Выбирай либо красивая графика либо компактные габариты. Я выбираю первое.

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

Выбирай либо красивая графика либо компактные габариты. Я выбираю первое.

и что, компьютер таскаешь к телевизору чтобы поиграть?

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

Мне они не нужны, мне хватает PC эксклюзивов и мультиплатформы.

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

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

окей

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

Тебе графика красивая нужна или нет? Если нужна то да, комп за тыщу баксов + обновление видюхи раз в год-полтора.

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

в сетевом шутере она и не нужна

скажи это авторам sauerbraten

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

линус раз в месяц выкатывает новую версию эмулятора терминала. Измененную конечно, но мы-то помним откуда у него ноги растут.

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

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

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

Прицеливание мышью гораздо быстрее и удобнее, чем джойстиком контроллера.

При чём здесь «чем»? Нет в Килзоне мыши, есть только джойстик. Хочешь поиграть в интересную игрушку - бери джойстик и играй. Не хочешь - не играй. Кому от этого будет хуже кроме тебя?

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

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

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

А у вас, наверное, руки болят после 5 звезд на лоре, лишние 10 строчек набрать?

Пробовал я на консоли у знакомых в шутер поиграть. Управление - отстой, проходить не стал. Чего ради я должен мучиться с джойстиком, я пока так и не понял.

Kiborg ★★★
()

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

anonymous
()

чем при использовании Direct3D при запуске игры в Windows 7 (315 FPS против 270 FPS).

Да хоть 1000 кадров/с.

Эти игры как будто для полных дебилов делают.

Суходрочка с опциями компиляторов... Кому это нужно?

Нарисовали людей еле похожих на манекенов и вот тебе игра, 300 кадров/с. Радовайся.

tp_for_my_bunghole
()

И сколько, эти ваши игры будут стоить? И что игры только для убунту будут?!

BlackMan
()

Ждем наплыв школьников-fps-дрочеров, которые, чтобы выжать немного fps поставят убунту в дуалбут

goingUp ★★★★★
()

Наиболее полезными в плане улучшения производительности было использование опции компилятора «-ffast-math»...

Правильно.

и отключение опции «-fPIC».

Хм?..

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

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

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

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

Я ведь уже написал, повторю ещё раз: есть ненулевое количество клёвых игр, существующих только для консолей. Или ты играешь в них с гейпадом или не играешь никак и что там тебе удобно, а что неудобно создателей этих игр не волнует. Никто тебя не будет заставлять мучится с джойстиком - не хочешь, как хочешь.

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

есть ненулевое количество клёвых игр, существующих только для консолей

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

Kiborg ★★★
()

Одного не догоняю: дался им этот линух... Портировали бы свои наработки под макось и горя не знали.

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

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

Давно уж портировали. Похоже поняли, что хоть рынок альтернативных ОС и не большой, но всё равно это выгодно. Следующие будут Фря и Qnx.

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

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

XVilka ★★★★★
()

Что и требовалось доказать. DirectX как и все что делает микрософт это гомнокод

smolnij
()

У меня два вопроса.
1) Он же уже портирован под макось, а значит, имеет OpenGL-реализацию. Или там тоже всё через транслятор работает?
2) Под Wayland он, по видимому, даже если и будет работать, то очень не скоро?

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

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

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

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