Статистика ( по source префабам ), шт.
Представители Valve раскрыли подробности оптимизации движка Source под OpenGL
Valve раскрыла подробности оптимизации движка Source под Linux
Представители Valve раскрыли подробности оптимизации движка Source под OpenGL
Просмотров : 885 ( +2 ) Скачиваний : 0 Прислал / (а) : Cep}|{ Дата создания : 04.09.2012 14: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».
Похожие 1. Steam Mobile для iOS и Android - Вышла бета-версия приложения Steam для Android и iOS 2. Модели для маппинга source - Модели нпс для Half-Life и модели для маппинга HL2 3. Модели для Half-life - Модели для маппинга под half-life и модификаций на goldsrc 4. Left 4 Dead 2 - Linux vs Windows - В результате оптимизаций Valve игра Left 4 Dead 2 в Linux оказалась быстрее, чем в Windows 5. 50 лет - Гейб Ньюэллу стукнуло 50.
NitrO 04.09.2012, 20:39:49 пишет :
#1 А интересно то как )))
Вы не можете комментировать, т.к. вы не зарегистрированы.