Внимание! В Вашем браузере отключена функция JavaScript!!!


Пожалуйста, включите JavaScript и обновите страницу.

Время
Среда

20.09.2017
Категории
Новости Test Drive: Ferrari Legends [1]
Новости TDU2 [34]
НАШИ новости [43]
Это интересно [84]
Сетевые новости [57]
Автоновости [417]
Новости софта [48]
Новоcти железа [90]
Игровые новости [115]
Вход
Логин:
Пароль:
Чат
Новые комментарии
Поиск
Статистика


Сейчас на сайте:
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня были:
alexbredov
Главная » 2010 » Октябрь » 8 » Так почему же DirectX?
Так почему же DirectX?
23:19, 08.10.2010
Когда мы иной раз говорим другим разработчикам игр, что в нашей игре Overgrowth мы использовали OpenGL, нам недоуменно возражают: зачем, разве будущее не за DirectX? Когда мы говорим представителям видеокарт, что используем OpenGL, температура в помещении опускается на 10 градусов.

Это нас озадачивает. Среди веб-разработчиков считается хорошим тоном ругать стандартные технологии, такие как Silverlight, Flash или ActiveX, зато всячески приветствуется кросс-платформенная разработка. Ни один уважающий себя спец не испытывает восторга от работы с закрытыми стандартами типа документов Word или серверов Exchange. И что же произошло с этим миром, что инженеры вдруг принялись не только рукоплескать проприетарному API Microsoft, но ещё и активно ругать его открытого конкурента?

Прежде чем мы объясним, почему мы за OpenGL, немного истории.

Что такое OpenGL?

В 1982 году Silicon Graphics начала продажи высокопроизводительных графических терминалов на основе проприетарного API под названием Iris GL (GL — graphics library, графическая библиотека). Через несколько лет Iris GL превратился в монстра, которого стало очень сложно поддерживать. Тогда Silicon Graphics пошла на радикальный шаг — полностью переработала Iris GL и создала на его основе открытый стандарт. Теперь Открытую графическую библиотеку (OpenGL) могли использовать конкуренты, но при этом они должны были её поддерживать и обновлять.

Сегодня поддержкой OpenGL занимается Khronos Group — некоммерческая организация, в которую входят представители самых разных компаний, объединённых общим интересом: иметь высококачественные медийные API. Непосредственной поддержкой занимается Наблюдательная комиссия по архитектуре OpenGL. OpenGL поддерживают все игровые платформы, включая Mac, Windows, Linux, PS3 (через GCM), Wii, iPhone, PSP и DS. То есть все платформы, кроме Xbox. И это плавно приводит нас к следующей теме:

Что такое DirectX?

После MS-DOS в Microsoft осознали, что при выборе операционной системы пользователь не в последнюю очередь принимает во внимание игры. Тогда в 1995 году Microsoft создала проприетарный набор библиотек с целью поощрить выход эксклюзивных игр для новой ОС Windows 95. Среди этих библиотек были Direct3D, DirectInput и DirectSound, а весь набор в совокупности получил название DirectX. Когда в 2001 году Microsoft сама вошла в игровой рынок, появилась консоль DirectX Box, она же Xbox. Xbox стала рекордсменом по убыткам, потеряв свыше $4 млрд. Целью проекта было заложить основы для доминирования на игровом рынке, которое предполагалось осуществить только в следующем поколении.

Если судить по сегодняшнему игровому рынку, эта стратегия себя оправдала. Большинство главных игр для PC используют DirectX и работают на Windows и Xbox 360. За редкими исключениями они не работают на конкурирующих платформах, таких как PlayStation, Mac OS или Wii. Так Microsoft теряет довольно серьёзные рынки, а мы ставим важный вопрос:
Почему все используют DirectX?

Все используют DirectX потому, что выбор API при разработке игры обладает эффектом обратной связи — своего рода замкнутый круг. Начиная с 2005 года популярность DirectX постоянно растёт: чем больше разработчиков её использует, тем лучше её поддерживают поставщики видеокарт, тем лучше программисты умеют с ней работать и опять-таки тем популярнее она становится — круг замыкается.

Рынок начал смещаться в сторону DirectX под воздействием двух факторов: агрессивная реклама DirectX при запуске Xbox 360 и Windows Vista, которая заставила многих усомниться в будущем OpenGL, и оголтелое преувеличение достоинств DirectX. Эти факторы были усилены описанным эффектом обратной связи, и в результате OpenGL почти полностью исчезла из главных игровых новинок.

1. Эффект обратной связи и порочные круги


В среде Windows графические драйверы DirectX поддерживаются лучше, чем OpenGL. Причиной этого является порочный круг под названием «поддержка производителей». Чем больше разработчиков по той или иной причине переходит с OpenGL на DirectX, тем меньше производители видеокарт получают сообщений об ошибках в драйверах OpenGL; следовательно, они становятся хуже, и ещё больше разработчиков уходит с OpenGL на DirectX. Круг замыкается.

Факт и в том, что в DirectX разбирается больше программистов графики, чем в OpenGL; следовательно, создать игру под DirectX дешевле, потому что для этого требуется меньше затрат на обучение. И это ещё один порочный круг: чем больше игр использует DirectX, тем больше программистов должны её изучить. Чем больше программистов изучают DirectX, тем дешевле DirectX обходится игровым проектам в сравнении с OpenGL.

2. Vista и сомнения в отношении OpenGL

При выпуске Vista Microsoft начала активно сеять в пользователях сомнения и неуверенность в отношении OpenGL. В 2003 году Microsoft покинула Наблюдательную комиссию по архитектуре OpenGL, показав тем самым, что её больше не интересует судьба этой библиотеки. На SIGGRAPH (конгресс специалистов по графике) и WinHEC (конференция разработчиков аппаратного обеспечения под эгидой Microsoft) представители корпорации заявили, что в Windows Vista OpenGL будет поддерживаться на самом минимальном уровне, чтобы только обеспечить обратную связь с приложениями XP. OpenGL будет накладываться поверх DirectX, что приведёт к резкому снижению производительности. Это вызвало самую настоящую панику в рядах OpenGL, в результате чего многие профессиональные программисты графики перешли на DirectX.

Когда Vista наконец вышла, оказалось, что эти заявления не соответствовали действительности: поставщики создали быстрые устанавливаемые клиентские драйверы (ICD), вернувшие системе нативную поддержку OpenGL. Комиссия по OpenGL разослала письмо с доказательствами, что OpenGL по-прежнему в строю и ничем не уступает Direct3D на Vista. К сожалению, нужный Microsoft результат уже был достигнут: доверие к OpenGL серьёзно пошатнулось.

3. Лживые рекламные кампании


Выпуск Windows Vista и Windows 7 сопровождался агрессивной рекламой DirectX: Microsoft показывала эффектные картинки «до» и «после» применения различных версий DirectX. Сегодня многие игроки искренне верят, что переход от DirectX 9 к DirectX 10 волшебным образом улучшает яркость картинки, тогда как раньше она была убого затемнённой, а уровень реализма сразу же становится как в Crysis. Игровые журналисты уже доказали, что в том же Crysis на DX9 и DX10 нет никакой разницы, а пресловутые эксклюзивные для DX10 функции работают и под DX9 при соответствующих настройках в конфигурационном файле. Однако рекламная кампания снова сделала своё дело: многие игроки поверили, что установка DX10 — единственный способ получить графику по последней моде.

Далеко не все игры поддерживают этот маркетинговый фарс Microsoft. Многие настоящие профессионалы графики, такие как Джон Кармак (John Carmack), относятся к DX10 скептически. Он однажды сказал:«Лично я не стал бы сейчас переходить на что-то вроде DX10. Я бы подождал, когда всё немного утрясётся и для этого появится действительно объективная необходимость».
Так почему же мы используем OpenGL?

Учитывая всё вышесказанное: слабую поддержку производителей, отсутствие в играх, нападения со стороны Microsoft, спорные рыночные перспективы, – почему мы по-прежнему её используем? Не выгоднее ли отказаться от OpenGL и перейти к DirectX, как все остальные? Нет, потому что на самом деле OpenGL мощнее DirectX, поддерживает больше платформ и крайне важна для игровой индустрии.

1. OpenGL мощнее DirectX


Общеизвестно, что вызовы отрисовки в OpenGL быстрее, чем в DirectX. Верить нам на слово необязательно: на этот счёт существуют официальные презентации NVIDIA. Благодаря расширениям поставщиков новые функции видеопроцессоров на OpenGL начинают поддерживаться раньше. OpenGL сразу даёт прямой доступ ко всем новым графическим решениям на всех платформах, тогда как DirectX лишь предоставляет выборочные снимки на новых версиях Windows. Та же мозаичная технология (tesselation), которую Microsoft активно продвигает в DirectX 11, уже три года существует для OpenGL в качестве расширения. Я не знаю, какие новые технологии появятся в ближайшие годы, но я точно знаю, что первыми они появятся в OpenGL.

Microsoft хорошо поработала над DirectX 10 и 11, и теперь они почти так же быстры и функциональны, как и OpenGL. Однако остаётся одна большая проблема: они не работают в Windows XP! У половины игроков PC по-прежнему стоит XP, и для них варианта DirectX 10 и 11 просто не существует. Поэтому, если вы действительно хотите добиться наилучших результатов и донести их до максимально возможного числа игроков, вариантов помимо OpenGL просто нет.

2. OpenGL кроссплатформенная

Свыше половины игроков нашей Lugaru играет на Mac или Linux, и мы не удивимся, если так же будет и с новой игрой Overgrowth. В беседах с крупными игровыми разработчиками мы часто слышим, что поддержка Mac и Linux — пустая трата времени. Но мне никогда не встречались доказательства этого утверждения. Blizzard всегда выпускает версию своих игр для Mac одновременно с другими платформами. Если они в чём-то принципиально не сходятся с другими, то я думаю, что правы они, а не другие.

Когда Джона Кармака спросили, работает ли Rage под DirectX, он ответил: «Нет, это OpenGL, хотя мы использовали API в стиле D3D [на Xbox 360] и CG для PS3. Вы знаете, технологиям довольно неинтересно, какой вы используете API и какого поколения ваши технологии. API интересуется буквально несколько файлов, а миллионы строк кода совершенно безразличны к вашей платформе». Если можнодостичь всех платформ с OpenGL, то зачем себя искусственно ограничивать, привязываясь к DirectX?

Даже если вас не интересует ничего, кроме Windows, позвольте ещё раз напомнить, что половина пользователей Windows работает на XP, и они не смогут играть в вашу игру, если у вас будут последние версии DirectX. Единственный способ дать новейшие графические решения пользователям Windows XP (а это крупнейшая игровая платформа на PC) — использовать OpenGL.

3. У OpenGL больше перспектив на игровом рынке

OpenGL — это некоммерческий открытый стандарт, преследующий цель предоставить графику высочайшего качества пользователям всех платформ. Позиции OpenGL пошатнулись в результате монополистического нападения со стороны одного корпоративного колосса, который решил прибрать к рукам слишком молодую и потому неспособную за себя постоять индустрию. Microsoft держит рынок игр для PC мёртвой хваткой, которая тем сильнее, чем более эксклюзивны позиции Direct3D в Windows.

Для понижения цен и повышения качества необходима конкуренция. Монополия Microsoft на игровом рынке очень вредна и игрокам, и разработчикам.
Cможет ли OpenGL вернуть утраченные позиции?

В 1997 году была очень похожая ситуация. Microsoft начала агрессивную рекламную кампанию в пользу Direct3D, и однажды утром все проснулись и узнали, что она и быстрее, и лучше, чем OpenGL. Ситуация стала меняться после того, как Крис Хэкер (Chris Hecker) опубликовал открытое письмо против DirectX. Вскоре после этого Джон Кармак опубликовал свою знаменитую оду OpenGL, которую тут же подкрепил делом: перевёл все игры Id Software на OpenGL. Так он раз и навсегда доказал, что DirectX совершенно необязательна для трёхмерных игр высшей категории.

Однако за последние несколько лет этот урок оказался подзабыт. Большинство игровых разработчиков либо поддались чарам маркетологов Microsoft, либо утонули в порочных кругах рыночной конъюнктуры. Настало время отбросить пустые рекламации и модные тренды и посмотреть в глаза правде. Если вы пишете под DirectX, вам приходится либо брать слабую и раздутую DX9, либо жертвовать значительной частью пользовательской базы с DX10 и 11.

С другой стороны, если вы пишете под OpenGL, вы получаете более быструю и мощную графику, чем в DirectX 11, причём на всех версиях Windows, Mac и Linux, а также PS3, Wii, PSP, DS и iPhone. Кроме того, вы получаете всё это в рамках динамично развивающегося стандарта WebGL, который вполне может стать базовым для браузерных игр следующего поколения.

Если вы — разработчик игр, я прошу вас провести исследование, сравнить цифры и решить для себя, лучше OpenGL или нет. Некоторые программисты привержены стилю DirectX 11, но вы в любом случае перенесёте низкоуровневые API на уровень абстракции, поэтому этот фактор не может быть решающим. Если что-то в OpenGL вам не нравится, просто попросите наблюдательную комиссию это поменять — она для того и существует!

Если вы играете в игры на Windows XP, Mac или Linux, вы должны понять, что DirectX существует только для того, чтобы закрыть вам доступ к новым играм. И у вас есть только один способ повлиять на ситуацию — начать поддерживать игры, использующие OpenGL.

© Перевод Чивчалова Антона, 2010, специально для CyberStyle.ru
По материалам блога разработчиков blog.wolfire.com

Категория: Новости софта |Просмотров: 840 | Добавил: Невезде_Оливка | Рейтинг: 5.0/3
Всего комментариев: 10
+1     Спам   12.10.2010
zemluak, майкрасофту за яйки всех взять гораздо легче чем всему миру их

+1     Спам   11.10.2010
9. zemluak
Может тогда собраться всем миром и прищемить мелкомягким их я**** ну эти самые как их.....руки вообщем.. может тогда будем играть в дирт4 в 2012 году с графикой уровня директ икс 25 которы вышел бы лет через 50?

0     Спам   11.10.2010
Arina, а это благодаря иксбоксу.
Кто не верит что директ хуже, милости прошу в игры под гл, и кто умеет вскрывать 3д модели, офигиваем от количества поликов и фпс, когда директ нахрен загнётся и взорвёт видюху от такого количества :D

0     Спам   11.10.2010
Nikolas, статьи видать не читал, прочти и узнаешь почему не делают на гл
zemluak, и ты читай
Для ленивых - майкрасофт очень хорошая компания которая монополист и проплачивает всё и вся, и со своим хп и иксбокс уничтожили гл. А те кто мол гл туфта и ничё не стоят, то спросите сколько стоит нанять программера на опенгл, и подумайте, всем бы так жить + из-за того что майкрасофт гл косвенно держет и замкнутый круг, драйвера не могут так обновлятся как и на директ, вообщем тама круг замкнутый, где монополист майкрасофт. Почему же майкрасофт директ гавно? т.к. потому что их 11ый по мощности достиг уровня 3хлетней давности гл, кто заинтерисовался читайте текст, а потом уже вещайте

+2     Спам   11.10.2010
6. Arina
А раньше были ведь игры, которые работали под ними обоими. Выбирай, что больше нравится. Потом майкрософт это придавил.

+2     Спам   10.10.2010
zemluak, а как тогда обьяснить, что большинство монстров дизайнеров используют для своей работы OpenGL? И самые мощные видео акселераторы (нехилой стоимостью) поддерживают не Direct а именно Open? А использование Direct в играх просто хорошо пропиарен в Microsoft.
Уйти с директа не целесообразно т.к все игры будут выпускаться под него. Но если вы профессиональный дизайнер, то большинство самых сложных решений вам удастся воплотить только на OpenGL (практика).

0     Спам   10.10.2010
4. zemluak
Помоему чуш... если бы OpenGL так крут то сейчас уже все игры на нем были. И были бы кроссплатформерными. Или мелкомягкие тут руку приложили?

0     Спам   09.10.2010
3. Nikolas
Ну делали бы игры под OpenGL, а то сказать, директ говно, а опенГЛ лучше, можно и так... в инете куча подобных "раскрывающих глаза" статей, и честно говоря в каждой из них большая доля врак, так что я уж их и не читаю (хотя по началу любил почитать подобные вещи) ;)

+1     Спам   09.10.2010
готов отказаться от винды и игр? :D

+1     Спам   09.10.2010
1. Scren
Спасибо большое очень интересно было почетать :) :)
Может и вправду с директа уйти? <_<

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
ARMDGroup.ru - это открытый ресурс, позволяющий публиковать материалы любому пользователю. Администрация не несет ответственности за опубликованные пользователями материалы. Любой материал может быть удален по просьбе автора при предъявлении сканированных копий документов, подтверждающих авторские права на конкретный материал.
Все, не помеченные авторством, материалы являются эксклюзивными для данного сайта. При копировании материалов гиперссылка на ARMDGroup.ru обязательна!
Вся символика и дизайн Клуба являются собственностью ARMDGroup.ru и не могут быть использованы где-либо, как полностью так и частично.
Сайт управляется системой uCoz. Дизайн ARMDGroup. Copyright © ARMDGroup.ru 2008-2017