что лучше директ х или опен гл

OpenGL или DirectX?

что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

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

OpenGL это кроссплатформенное API, раньше было не очень удобно начинать работу с ним на Винде, сейчас доступны различные библиотеки (GLEW, GLFW) и это больше не проблема.
DirectX возможно даст вам больше возможностей, но там много заморочек с Windows-специфичными вещами, т.к. DirectX работает через технологию COM. Поначалу будет непривычно.

Я бы на вашем месте начал с OpenGL и посматривал на Vulkan. Знание OpenGL полезно ещё тем, что проще будет использовать родственные API, например WebGL, если захотите писать внутрибраузерный код.

что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

OpenGL и DirectX нельзя сравнивать, так как первый только для графики, а второй для всего (Direct3D для графики)

OpenGL
+ крассплатформенный (десктоп, мобайл, веб)
— для работы со звуком, вводом, сетью нужно искать соответствующие инструменты. Может отразиться на времени разработки

DirectX
— только Windows, xBox и т.п.
+ все инструменты в одном виде, готовое взял и пользуйся

Как по мне, создавать движки в наше время дело дорогостоящее и неоправданное, так как есть много готовых вариантов. Среди них немало поддерживают D3D + OpenGL, многие только OpenGL. Так что в плане охвата платформ OpenGL лучше.

То есть однозначно выбрать нельзя, нужно учитывать какие платформы вам нужны и как рассчитываете силы/время. Может проще и надежнее будет взять UE4 или ему подобный движок. На крайних случай Urho3D

Источник

Сравнение OpenGL и Direct3D

Очень часто встречаются различные заблуждения по поводу этих двух API.

Я попытался изложить в этой статье основные факты, которые следует знать как разработчикам, так и конечным пользователям.

Так как тема очень холиварная, я старался придерживаться максимально нейтрального тона.

Взгляд с высоты птичьего полёта

Оба API предоставляют доступ к функциям аппаратного ускорения 3D-графики.

Direct3D — проприетарная разработка Microsoft, созданная специально для Windows. В настоящее время используется так же и на Microsoft Xbox. На других платформах недоступен (если не брать в учёт эмуляцию API, предоставляемую Wine, а также виртуализацию).

OpenGL — открытый стандарт, разрабатываемый некоммерческой организацией Khronos Group при участии сообщества. Все крупные производители GPU (nVidia, AMD, Intel), так или иначе, влияли на OpenGL. В отличие от Direct3D, доступен на очень большом количестве платформ. В частности, OpenGL является основным API для взаимодействия с GPU в Linux и Mac OS.

«Внешние» технические различия API

Direct3D основан на технологии COM. COM — это, по сути, стандарт бинарного представления компонентов. Как известно, классы на чистом C++ не могут быть использованы из других языков программирования, так как они не имеют стандартизованного бинарного представления. В частности, каждый компилятор использует свой собственный метод декорирования имён. COM же позволяет работать с объектно-ориентированной концепцией из любого языка, его поддерживающего. COM — это тоже Windows-specific технология (использует такие специфичные для Windows вещи, как реестр).

В приложении на Direct3D используются указатели на интерфейсы объектов. Работа с объектом осуществляется путём вызова методов его интерфейса. Например, интерфейс так называемого device-а (device в Direct3D — это контекст выполнения для конкретного окна), имеет название (примеры для Direct3D 9) IDirect3DDevice9, для объекта текстуры — IDirect3DTexture9, и т.д. Создание объектов происходит как вызовы методов интерфейса IDirect3DDevice9, например, для текстуры это будет IDirect3DDevice9::CreateTexture.

В Direct3D 10 произошло значительное количество изменений. Direct3D 10 не является обратно совместимым с Direct3D 9. Т.е. чтобы перенести программу на новый API потребуется переписать весь код, относящийся к рендерингу. Подробнее о Direct3D 10 ниже.

OpenGL использует обычные функции языка C. Для них существует стандартизированный ABI, а это значит, что OpenGL может быть использован из любого языка, который поддерживает вызов функций native библиотек (т.е., практически говоря, из любого вообще).

В OpenGL используется так называемая машина состояний (конечный автомат). Результат вызовов функций OpenGL зависит от внутреннего состояния, и может изменять его. В OpenGL, чтобы получить доступ к конкретному объекту (например, текстуре), нужно сначала выбрать его в качестве текущего функцией glBindTexture, а затем уже можно влиять на объект, например, задание содержимого текстуры осуществляется вызовом glTexImage2D.

Аналогом концепции device-а в Direct3D здесь является контекст. Контекст OpenGL привязан к конкретному окну, так же, как и device в Direct3D.

Общим для двух API является то, что обе не предоставляют чего либо за пределами работы с графикой. А именно, нет функций ни для создания окна, ни для работы с вводом с клавиатуры/мыши, ни для работы со звуком (здесь я не затрагиваю другие части DirectX, такие как DirectInput и DirectSound). Т.е. они не являются библиотеками высокого уровня.

В самой упрощённой форме можно сказать так: OpenGL и Direct3D позволяют рисовать треугольники. И всё. Суть в том, что треугольники можно рисовать очень по-разному (текстуры, освещение, преобразования, и т.д.).

Самое важное различие

Имя ему — расширения (extensions).

Direct3D по сути фиксирован в пределах одной мажорной версии. Какие-либо изменения/дополнения происходят только при выпуске следующей версии.

В OpenGL реально доступное API определяется производителем GPU. Реализация OpenGL позволяет определять расширения к основной спецификации. Приложение может получить список поддерживаемых расширений во время выполнения, и проверить на доступность те, которые оно желает использовать.

На самом деле практически весь функционал OpenGL — это расширения. Развитие OpenGL идёт так: появляется новая фишка, производитель реализовывает её в своём драйвере и документирует доступное расширение. Приложения могут использовать новые функции прямо сейчас, не дожидаясь включения в официальную спецификацию. Если это расширение специфично для конкретного производителя, то в названии оно несёт его имя (например, вот так: GL_NV_point_sprite, где NV — значит nVidia). Если расширение реализовано многими вендорами, то в названии используется EXT (например, GL_EXT_draw_range_elements).

Со временем, если расширение широко используется, оно стандартизируется в ARB, и после этого содержит в имени ARB (например, GL_ARB_vertex_buffer_object). Такое расширение имеет официальный статус.

Самые важные расширения со временем становятся частью основной спецификации. Каждая новая версия OpenGL — это по сути старая версия+несколько новых интегрированных расширений. При этом новые функции продолжают быть доступными как расширения. Т.е. на самом деле с точки зрения программы может быть вообще всё равно, какая версия OpenGL. Главное — какие доступны расширения. Версия OpenGL — это просто способ указать, какой набор расширений гарантированно поддерживается.

Что нового в Direct3D 10/11 и OpenGL 3.x

Microsoft сделали радикальную переработку API в Direct3D 10. Сейчас оно имеет более унифицированный и современный вид. Были выброшены некоторые устаревшие вещи, такие как fixed function rendering (без использования шейдеров). Ещё был выполнен переход к новой модели работы драйвера. В частности, реализация Direct3D теперь может иметь не только kernel-space часть, а и user-space. Это позволяет экономить время на переключения user-space/kernel-space. Однако, из-за новой модели драйвера, Direct3D 10 и выше недоступен на Windows XP. Учитывая всё ещё большую популярность Windows XP, это довольно грустно.

Реализация OpenGL изначально была разделена на user-space и kernel-space части, так что там такой проблемы и не было. Ещё различие в том, что до сих пор не вносилось изменений в OpenGL API, которые не были бы обратно совместимы. Каждое нововведение — это расширение.

Функционал, появившийся в Direct3D 10, например, геометрические шейдеры, доступен в OpenGL на любой платформе через расширение, или, начиная с OpenGL 3.2, как часть основной спецификации. Стоит особо подчеркнуть, это важно, функционал Direct3D 10/11 доступен в OpenGL на любой платформе, в том числе и Windows XP. Таким образом у многих сложилось впечатление, что Direct3D 10 не доступен на Windows XP исключительно по политическим причинам, а не из-за каких-то реальных технических проблем. Впрочем, я не могу судить здесь, сохраняя нейтральный тон, о том, были ли действительно такие проблемы при введении новой модели видео-драйверов.

Теперь о нововведениях в OpenGL 3.x. Начиная с OpenGL 3.0 появилась так называемая deprecation model. Часть старой функциональности, относящаяся к fixed function rendering, а также к рендерингу, основанному на glBegin/glEnd, и многие другие устаревшие и неактуальные вещи, были объявлены как deprecated, и были впоследствии удалены из основной спецификации OpenGL 3.1. Это позволяет сохранять основную спецификацию в актуальной и современной форме.

Казалось бы, это должно сломать совместимость со старыми программами. Ведь раньше, когда программа создавала контекст OpenGL, она просто получала контекст версии максимально доступной. Это было ОК, т.к. новые версии всегда являлись надстройками над предыдущими. Чтобы избежать нарушений совместимости, программы, которые хотят получить контект OpenGL 3.x должны использовать новый метод создания контекста, который позволяет указать, какую именно версию OpenGL нужно получить.

Но, как следует из того, что уже было написано раньше про расширения, и это важно, функционал OpenGL 3.x можно получить через расширения, не создавая контекст новым методом. Т.е. OpenGL 1.1 + расширения = OpenGL 3.2! Таким образом, сохраняется полная обратная совместимость. Например, геометрические шейдеры — это расширение GL_ARB_geometry_shader4.

Распространённые заблуждения

OpenGL отстаёт от Direct3D, и вообще, судя по таким вялым изменениям в спецификации, наверное уже совсем мёртв.

Собственно, причина такого заблуждения — это незнание о расширениях. Вообще говоря, OpenGL может и часто опережает (!) Direct3D в плане инноваций, т.к. производитель может добавить расширение к OpenGL, не дожидаясь никого, в то время как в Direct3D изменения может внести только Microsoft.

OpenGL — это для программ профессиональной графики, а Direct3D — это для игр.

Это заблуждение имеет историческую причину. OpenGL исходно разрабатывался как библиотека 3D графики, которая МОЖЕТ, но НЕ ОБЯЗАНА ускоряться аппаратно. Это также объясняет наличие некоторых функций, например рендеринг стерео-изображений, которые не нужны играм. Direct3D же разрабатывался гораздо позже, сразу с расчётом на ускорение на GPU. В момент появления многих пакетов профессиональной работы с графикой Direct3D просто не было.

Интересные нюансы

Microsoft поставляет вместе с Windows драйверы без поддержки OpenGL. OpenGL будет рендерить без ускорения, или эмулироваться через DirectX. Так что, если нужна поддержка OpenGL под Windows, нужно ставить драйвер с сайта производителя. Причины для такого неприятия OpenGL, скорее всего, опять чисто политические.

Так что же делать, как жить?

Примечание: А вот эта часть носит весьма субъективный характер.

Если Вы — разработчик, и решаете, какое API использовать, то задумайтесь над следующим:
За OpenGL — массовая кроссплатформенность, в частности, доступность всех новых функций и на Windows XP, где Direct3D 10/11 нет, и никогда не будет.
Против OpenGL — драйвера в Windows из коробки не имеют поддержки OpenGL, так что ставить их нужно с сайта производителя.

Если Вы — новичок в разработке 3D-приложений, и желаете освоить эту область, то я бы рекомендовал сделать так: сначала разобраться с Direct3D (причина тому проста — Microsoft предоставляет очень качественный SDK), а затем разобраться с OpenGL (это будет очень просто после Direct3D). К сожалению, такой вещи, как SDK, для OpenGL нет. Поэтому осваивать с нуля будет сложнее.

Источник

Сравнительный тест DirectX 11, OpenGL и Vulkan

На минувшей неделе был представлен API Vulkan, о широкой поддержке которого заявили AMD и NVIDIA. Новый графический интерфейс разрабатывал Khronos Group, консорциум, основанный в 2000 году. Khronos Group отвечает за разработку и поддержку открытых стандартов в сфере мультимедийных приложений на разных платформах и устройствах. Консорциум поддерживают AMD и NVIDIA, а также многие другие компании.

На минувшей неделе была ратифицирована финальная версия 1.0 API Vulkan. AMD и NVIDIA представили соответствующие бета-драйверы. AMD заранее выпустила бета-версию Radeon Software еще 14 февраля. NVIDIA представила драйвер GeForce 356.39, который тоже ориентирован на поддержку API Vulkan.

Подход API Vulkan очень похож на API Mantle. Суть заключается в том, чтобы разработчики получили более глубокий доступ к «железу», чтобы выжать из него максимум. Такой подход позволяет максимально избежать существующих «узких мест». С другой стороны, разработчики должны точно знать, что они делают – например, при работе с памятью. Интерфейс OpenGL не так популярен, как DirectX, но позволяет выжать больше.

Интерфейс API Vulkan в версии 1.0 поддерживается под Windows 7, Windows 8.1, Windows 10, Android и Linux. Разработчики игр пока что не объявили о поддержки в конкретных играх, но здесь стоит дождаться Games Developer Conference, которая будет проводиться с 14 по 18 марта в Сан-Франциско. Из игровых движков пока есть информация о Source 2, который уже поддерживает API Vulkan. Процесс отладки облегчается поддержкой Valve, LunarG и Codeplay.

The Talos Principle

Хорошо, но какая игра или движок поддерживают API Vulkan? Игра The Talos Principle разрабатывалась компанией Croteam, которая и в прошлом была известна поддержкой многих графических API. И в последней итерации игра The Talos Principle не стала исключением – она поддерживает DirectX 9, DirectX 11, OpenGL и теперь Vulkan. Для студии разработчиков Vulkan является пробным шаром, хотя API Vulkan доступен в версии 1.0, поддержка пока находится в бета-стадии. На добавление поддержки разработчики Croteam затратили порядка трех месяцев. Но универсальный характер API позволяет вскоре представить вариант Linux.

API Vulkan теоретически совместим с несколькими платформами – но пока что тесты и сравнения можно провести только под Windows, причем здесь имеются свои ограничения. Реализация пока остается на очень раннем этапе. Путь рендеринга DirectX 11 совершенствовался многие годы, поэтому потенциала для оптимизации здесь уже нет. Здесь ситуация больше зависит от разработчиков драйверов, а именно AMD и NVIDIA. Игра The Talos Principle стала первой с поддержкой Vulkan. Поэтому пока нет возможности сделать сравнительный тест для оценки хорошей или плохой реализации поддержки.

что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

Новые технологии первое время реализуются в примерах, подготовленных производителями. В случае DirectX 12 акцент был выставлен на Draw Calls, тот же тест 3DMark DirectX 12 опирается только на измерение производительности Draw Calls, игры DirectX 12, подобные Star Wars, тоже пытаются задействовать подобную нагрузку. Но The Talos Principle не так сильно зависит от высокой скорости Draw Call, чтобы низкоуровневый API дал большую разницу.

Поддержка API Vulkan версии 1.0 находится на ранней стадии, то же самое касается драйверов AMD и NVIDIA. Оба драйвера, по сути, относятся к бета-версиям, именно так их рассматривают производители GPU. Здесь обычно нет новых улучшений производительности или поддержки новых технологий, так что мы получаем шаг назад. Но как только определенный уровень разработки будет достигнут, драйверы обоих разработчиков GPU получат поддержку Vulkan в финальной версии. Когда это произойдет – не совсем понятно. Но пока ключевые приложения не используют Vulkan и игры с поддержкой API находятся в состоянии бета-версии, так что разработчики GPU могут спокойно дорабатывать свои драйверы.

Для тестов мы взяли нашу тестовую систему для видеокарт. Драйверы видеокарт AMD и NVIDIA мы уже описали выше. В настройках мы выставили максимальный уровень графики, но при этом протестировали и низкие разрешения вплоть до 1.280 x 720 пикселей, чтобы увеличить производительность Draw Call.

Как можно видеть по результатам, API Vulkan дает существенный прирост по сравнению с OpenGL. Но до производительности DirectX 11 новый API не дотягивает. Тому есть несколько причин. С одной стороны, разработка под Vulkan находится в ранней стадии. Это касается и самого API, и драйвера, и игры The Talos Principle. По сравнению с OpenGL новый интерфейс позволяет освободить часть ресурсов и избежать «узких мест». Но DirectX много лет совершенствовался до текущего уровня. В любом случае, потенциал у API Vulkan очень хороший.

Если погрузиться в детали, то визуальных отличий между API Vulkan и DirectX 11 мы не обнаружили. Так что путь рендеринга очень хорошо адаптирован. У текущей реализации The Talos Principle видеокарты с 2 Гбайт памяти получают падение производительности, вероятно, из-за не самой эффективной работы с памятью. Как и Mantle и DirectX 12, API Vulkan может обращаться к ресурсам памяти на более глубоком уровне – сей факт можно рассматривать как преимущество, но он может стать и недостатком, если разработчики не смогут эффективно использовать память.

Несколько разочаровала ошибка в текущем драйвере NVIDIA, из-за которой после каждого теста приходилось перезагружать систему. Без перезагрузки игра «вылетала». Хотя с драйвером AMD мы не обнаруживали подобной ошибки.

Нынешняя реализация API Vulkan кажется обещающей. Пока что для игр на настольных ПК она будет не такой актуальной, поскольку рынок DirectX 11 и 12 очень велик, и по сравнению с тем же DirectX 12 затраты на реализацию могут быть слишком велики, а отдача слишком мала. Но если игры необходимо запускать на разных платформах с разными аппаратными требованиями, Vulkan может сыграть важную роль. В любом случае, следует дождаться реакции со стороны разработчиков игр, иначе мы получаем проблему курицы и яйца, из которой сложно выйти.

Источник

Что лучше: DirectX или OpenGL

Ранее в интернете активно велись споры, что лучше: DirectX или OpenGL. Сейчас данная тема уже не такая актуальная, но все же нередко пользователи ей интересуются. Мы решили собрать всю достоверную информацию и опубликовать ее в виде сравнения обоих продуктов.

Сравнение

Стоит отметить, что раньше на свет появился именно OpenGL. Кроме того, он был установлен на ранних версиях Mac OS и Linux. Пресловутая Windows в то время была еще в состоянии эмбриона и ни о каком DirectX речи даже не шло.

Однако со временем компания Microsoft выпустила собственный графический API, который стал широко известен. Его популярность связана главным образом с тем, что он используется в самой популярной ОС.что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

А еще именно DirectX предпочитают многие разработчики игр. Справедливости ради стоит отметить, что некоторые из них добавляют в свои творения также OpenGL и даже Vulkan. Но таких игрушек катастрофически мало.

Так чем же так хорош API от Microsoft? Мы попробуем разобраться в данном вопросе. Но сначала рассмотрим ключевые особенности обоих проектов только потом вынесем вердикт по части их «крутости».

Поддержка расширений

Естественно, у DirectX такого и близко нет, так как это проприетарный продукт и изменения в него вносятся исключительно компанией Microsoft. Так что если производитель видеокарты и добавил какую-нибудь интересную опцию в драйвер, то в этом API она появится нескоро.

А с какой периодичностью выходят обновления для Директ Икс и без того всем известно. В лучшем случае – раз в три года. Это означает, что пользователи не увидят новых фишек до тех пор, пока ребята из Microsoft не соизволят выпустить новую версию.что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

С OpenGL ситуация другая. Это свободный АПИ, распространяющийся под лицензией GNU/GPL и правки в него вносятся всем сообществом. В которое, кстати, входят и ключевые производители видеокарт. Корпорации AMD и NVIDIA там точно есть.

Поэтому им не нужно кого-то ждать для того, чтобы добавить поддержку нового функционала в графический API. Это значит, что ОпенГЛ может использовать новый функционал сразу после добавления его в драйверы. И это первое преимущество свободной технологии.

Кроссплатформенность

И снова DirectX становится аутсайдером. Данный API предназначен для использования исключительно на операционных системах Windows. При этом на XP используется всего лишь версия 9.0с. А вот 10 и тем более 11 на нее нет и никогда уже не будет.что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

Помимо Windows данный API еще можно увидеть на игровой приставке XBOX One (и разных ее ревизий). Но эта консоль – детище компании Microsoft. Поэтому ничего удивительного здесь нет. Вы не поверите, но версий DirectX нет даже для культовой Mac OS! И о чем думает компания из Редмонда?

Совсем не то с OpenGL. Этот API используется практически во всех известных операционных системах. Он без проблем работает на Windows, Linux, Mac OS и даже FreeBSD. Хотя последняя и вовсе не предназначена для «графических излишеств».что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

Такая кроссплатформенность сделала свое дело. К примеру, компания Blizzard выпускает свой культовый World of Warcraft для Mac OS исключительно под Опен ГЛ. Да и на PC-версии игра способна работать как под DirectX, так и под свободным API.

Работа в профессиональных программах

И здесь побеждает ОпенГЛ. Именно этот АПИ признается профессионалами. И все потому, что он поддерживает все последние фишки видеокарт, прописанные в драйверах. А это значит, что разработчики получат новые возможности.

И нова стоит поговорить о простоте данного API. Работать с ним гораздо проще, так как здесь упорядоченный код и масштабные комментарии к нему. Именно поэтому во многих ВУЗах начинают профессиональное обучение с OpenGL.

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

Единственное преимущество ДиректХ в этом плане – богатый инструментарий SDK. Он несколько облегчает разработку. Но даже с SDK она далеко не всем по плечу. Да и для нужд профессионалов этот API никак не подходит. Слишком он тугой на обновления.

Производительность в играх

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

К примеру, в игре The Talos Principle (не первой свежести игрушка) на видеокарте AMD Radeon R9 Fury X при разрешении 4К и ультра настройках графики получилось 643 кадра в секунду. Такой показатель FPS избыточен.

А вот OpenGL в таких же условиях и с такой же видеокартой показал намного более скромный результат. Количество кадров в секунду едва достигло 35. Это приемлемый ФПС для неискушенного геймера, но с предыдущими цифрами его не сравнить. Аналогичная ситуация и с графическими адаптерами от Nvidia.что лучше директ х или опен гл. Смотреть фото что лучше директ х или опен гл. Смотреть картинку что лучше директ х или опен гл. Картинка про что лучше директ х или опен гл. Фото что лучше директ х или опен гл

К сожалению, свободный API оказался совершенно не готов к такому «сражение». И с чем это связано – непонятно. Вроде бы разработчики оперативно добавляют в него новые опции. И драйвера (даже самые новые) его поддерживают.

Вердикт

Так что же все-таки лучше? Директ Х или Опен ГЛ? Все зависит от того, для чего вы будете использовать графический API. Сфера применения многое значит. Ведь в профессиональной области первый продукт значительно отстает от второго.

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

В выборе API также огромную роль играет ОС. К примеру, та же Windows нормально не поддерживает OpenGL. Его использование возможно только при установке драйверов от производителя. А кому охота плясать с бубнами?

Вот и получается, что менее продвинутый DirectX является наиболее предпочитаемым API для тех, кто использует исключительно Windows и любит игры. А ведь таких пользователей большинство. Потому и популярность этого API зашкаливает.

Заключение

А теперь подведем итоги. Мы попытались беспристрастно выбрать лучший графический API из двух. По всем показателям получается, что в техническом плане лучше выглядит продукт, распространяемый под лицензией GNU/GPL.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *