Регистрация - или - Войти
CthulhuCthulhu

Модификация по рассказу Говарда Лавкравта...

24/02/2006
Malevolence Part IMalevolence Part I

Небольшой мод с хорошей архитектурой уровней...

17/06/2004

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


  • Описание
  • Ссылка и установка

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

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


Просмотров : 323 ( +1 )
Скачиваний : 0
Прислал / (а) : Cep}|{
Дата создания : 04.09.2012 11:31:35
Рейтинг :
 ( 0 ) 
Поделиться :
Теги : ubuntu, linux, L4D2, Left 4 Dead 2, steam, valve, OpenGL


Имеются следующие переводы : | русский |

На конференции 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; vубрано большинство вызовов glXMakeCurrent;

  • исправлено использование pthreads;

  • сокращен оверхед трансляции D3D→GL путем переписывания самых горячих мест;

  • улучшен dirty range tracking;

  • добавлен отдельный однородный массив для базовых матриц;

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

valve_l4d2_01_lrg.jpg valve_l4d2_02_lrg.jpg valve_l4d2_03_lrg.jpg valve_l4d2_04_lrg.jpg valve_l4d2_05_lrg.jpg valve_l4d2_07_lrg.jpg valve_l4d2_08_lrg.jpg valve_l4d2_09_lrg.jpg valve_l4d2_10_lrg.jpg valve_l4d2_11_lrg.jpg valve_l4d2_12_lrg.jpg valve_l4d2_13_lrg.jpg valve_l4d2_14_lrg.jpg valve_l4d2_15_lrg.jpg valve_l4d2_16_lrg.jpg



Похожие1. Модели оружия для Half-Life 2 - Модели оружия для Half-Life 2
2. Модели оружия для Half-Life 2 - Модели оружия для Half-Life 2
3. Обзор сетевой модификации - Golden Eye Source - Обзор сетевой модификации для Half-Life 2 - Golden Eye Source
4. Модели заложников и vip для Counter-Strike Source - Модели hostage и vip для Counter-Strike Source
5. Комикс от Valve - Сосмертники - Valve выпустила комикс под названием Сосмертники
NitrO 04.09.2012, 19:27:49 пишет :
#1
А интересно то как )))
Вы не можете комментировать, т.к. вы не зарегистрированы.
    UT3 Evangelion Model Pack v1.1 Final
    Unreal Tournament 3UT3 Evangelion Model Pack v1.1 Final
    OldSkool Amp'd
    Unreal Tournament 99OldSkool Amp'd
    Csejte Castle HerdCoop Map Pack V3
    Unreal Tournament 99Csejte Castle HerdCoop Map Pack V3
    Unreal Tournament 3 Original Soundtrack
    Unreal Tournament 3 Original Soundtrack