Клапан: OpenGL быстрее, чем DirectX – даже на Windows

opengl

В страшном скручивании, которое укрепляет отвращение Клапана к Windows 8, оказывается, что Исходный механизм – 3D механизм, который полномочия Половина Жизни 2, Оставленный 4 Погибших, и Dota 2 – выполняют быстрее на Ubuntu 12.04 и OpenGL, чем Windows 7 и DirectX/Direct3D.Клапан Команда Linux разбивает его на их солнечном новом блоге: С Nvidia GTX 680, Intel i7-3930k, и 32 ГБ RAM, Windows 7 и DirectX, Оставленного 4 Мертвых 2 макси в 270,6 кадр/с. С теми же аппаратными средствами, но различным программным обеспечением – Ubuntu 12.04 и OpenGL – очки L4D2 315 кадр/с, почти на 20% быстрее, чем Windows.Эти числа замечательны, полагая, что Клапан совершенствовал Исходный результат механизма под Windows в течение почти 10 лет, в то время как Клапан команда Linux только работал над портом Linux Источника в течение нескольких месяцев.

Клапан приписывает ускорение «базовой эффективности [Linux] ядро и OpenGL».Порт Linux L4D2 не начинался в 315 кадр/с, конечно – начальная версия, фактически истраченная во всего 6 кадр/с.

Для понимания такого огромного увеличения производительности трехаспектный подход проявлен: игру настраивают для игры приятно с ядром Linux, игра оптимизирована для работы с OpenGL (а не DirectX), и ошибки в графических драйверах Linux обращены.Эта последняя точка интересна: Клапан имеет долгосрочные отношения с AMD, Nvidia и Intel, где Клапан сообщает об ошибках драйвера, и производитель GPU фиксирует их своевременно. Клапан несет это отношение в Linux, который очень важен для продолжительного роста Linux как играющая платформа. В этом случае Клапан говорит, что Nvidia, драйвер Linux испытал недостаток в поддержке многопоточности – и как только они добавили его к более поздней версии драйвера, производительность увеличилась.

Но вот лучший бит: Используя эту новую оптимизацию OpenGL, версия OpenGL L4D2 на Windows теперь быстрее, чем версия DirectX. С теми же аппаратными средствами Windows 7/OpenGL/L4D2 отмечает время прихода в 303,4 кадр/с – по сравнению с Windows 7/DirectX/L4D2 в 270,6 кадр/с. Короче говоря: OpenGL быстрее, чем DirectX.Что касается того, почему OpenGL быстрее, чем DirectX/Direct3D, простой ответ – то, что OpenGL, кажется, имеет более гладкий, более эффективный конвейер.

В 303,4 кадр/с OpenGL предоставляет кадр каждые 3,29 миллисекунды; в 270,6 кадр/с DirectX предоставляет кадр в 3,69 миллисекундах. То, что 0,4 различия в миллисекунде до того, как быстро конвейер DirectX может обработать и нарисовать 3D данные.Почему мы все еще используем Direct3D? Если OpenGL быстрее, почему DirectX является все еще преобладающим API?

Это не из-за качества изображения или функций: OpenGL 4.0 имеет все программы построения теней и tessellators и виджеты, которые имеет DX. Это не из-за поддержки оборудования: Весь Nvidia и видеокарты AMD поддерживают последнюю версию OpenGL вместе с DirectX.

Действительно, все это сводится к той вшивой старой вещи, мы вызываем сетевой эффект – и, конечно, монополистический поднимают и маркетинговые доллары. DirectX, потому что это имеет более чистый API и лучшую документацию, проще изучить.

Больше разработчиков, использующих DirectX = больше игр DirectX = лучшая поддержка драйвера. Это – порочный цикл, который снова приводит к большему количеству DX devs, большему количеству игр DX и лучших драйверов/инструментов/документации DX. Microsoft неуклонно представила DirectX на рынке, также – и кто может забыть выпуск Windows Vista и клеветнической кампании OpenGL Microsoft?

Комплектной версии Vista OpenGL полностью нанесли вред, вынудив много devs переключиться на DirectX.Microsoft имеет серьезное основание препятствовать прогрессу OpenGL, конечно: В то время как DirectX является собственным и только работает на Windows, Xbox и Windows Phone, OpenGL является абсолютно кросс-платформенным. Существуют существенные реализации OpenGL для Mac, Linux, PlayStation 3, Nintendo Wii, и примерно каждый современный смартфон (ES OpenGL).

Это, очевидно, в интересах Microsoft гарантировать, что лучшие игровые опыты исключительны на ее платформы.С отвращением Гэйба Ньюэлла к Windows 8 (и Снежная буря, повторяющая его чувства), неизбежный выброс Пара на Linux и продолжительный рост игр смартфона, мы могли быть на остром выступе оборота OpenGL. Если Windows, играющий, корона продолжает уменьшаться, OpenGL мог бы скоро стать API по умолчанию, а не запоздалой мыслью.

Очень скоро это могло бы быть стандартно для разработки игры, которая работает хорошо через каждую платформу – вместо того, чтобы фокусироваться на Direct3D и пропустить Linux и OS X в холоде.Клапан будет говорить о его продвижениях Linux/OpenGL в SIGGRAPH 2012 на следующей неделе. SIGGRAPH – то, где мы обычно слышим о последнем OpenGL и новостях DirectX, также – поэтому останьтесь настроенными!

Обновленный 2:40: история первоначально указала, что спецификация OpenGL обычно перед DirectX – но это не было истиной в течение нескольких лет теперь.