OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради

10 0 Новини високих технологій

По всій видимості, дуже багато користувачів, зокрема, всі ті, хто воліє використовувати комп'ютер для установки і проходження сучасних ресурсномістких ігор, знають, що в налаштуваннях графіки можна використовувати спеціальні засоби прискорення виведення зображення та підвищення якості картинки OpenGL або DirectX. Що краще задіяти для повного використання всіх прихованих ресурсів комп'ютерної системи і домогтися максимальної продуктивності? Питання є досить спірним, і відповісти однозначно на користь якоїсь однієї платформи зазвичай не представляється можливим, оскільки все залежить від конкретної мети, яку ставить перед собою користувач або розробник, а також від кожної конкретної ситуації, яка частково може бути пов'язана з «залізним» обладнанням у вигляді графічного прискорювача, його програмною підтримкою у вигляді драйверів і деякими додатковими аспектами. Спробуємо розібратися, що краще - OpenGL або DirectX, - обернувшись до офіційних джерел інформації, і спираючись на думки користувачів і розробників програмного забезпечення, яке може вимагати підтримку таких технологій.


Що таке OpenGL і DirectX?

Почнемо з того, що серед рядових користувачів побутує помилкова думка, що ці два описуваних компоненти являють собою графічні движки. Звідси і виникають некоректні запитання з приводу того, який двигун краще - OpenGL або DirectX?
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Справа в тому, що до движка цим платформи відносяться лише частково, оскільки є виключно програмним забезпеченням, яке дозволяє взаємодіяти програмного движка програми (гри) з встановленим обладнанням (найчастіше з відео - і звуковою картами) через їх драйвери, які виконують роль посередників. Насправді ж OpenGL і DirectX є частиною інтерфейсів прикладного програмування з необхідним набором бібліотек, класів, дефініцій, структур, констант і функцій, які застосовуються для забезпечення роботи з зовнішніми програмними продуктами, що встановлюються в операційну систему.


Для чого використовуються ці технології

Природно, дуже часто можна зустріти і питання з приводу того, яка графіка краще - OpenGL або DirectX? Така постановка теж частково є некоректною, оскільки мова може йти не тільки про залучення ресурсів відеокарт, але і звукових або будь-яких інших «залізних» і віртуальних пристроїв мультимедіа. Але найчастіше мова йде саме про графічних прискорювачах. При цьому потрібно чітко розуміти, що вибір на користь того чи іншого «моста», що забезпечує взаємодію відеокарти з встановленою грою чи будь-якою іншою програмою, де це необхідно, може залежати і від того, наскільки обов'язковою є така підтримка.
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
В сучасних іграх зі складними текстурами і досконально домалювати динамічними сценами така підтримка вкрай необхідна. Але проблема в тому, що далеко не всі графічні прискорювачі можуть коректно використовувати таку підтримку. У цьому випадку все залежить вже від драйверів. Будь карта який завгодно ультрамодного, але з застарілим управителем (драйверами) вона не зможе використовувати всі ті можливості, які спочатку були заявлені виробником. Тим не менш в більшості ігор або в програмах для роботи з мультимедіа (наприклад, для обробки відео) дуже часто і доводиться обирати, яку саме підтримку встановлювати у налаштуваннях протиставляючи одну платформу іншого (в англійському варіанті це зазвичай виглядає як «OpenGL vs DirectX»).

Основні відмінності DirectX і OpenGL

Що ж стосується основних відмінностей, не вдаючись у технічні аспекти функціонування, відразу ж можна відзначити, що платформа DirectX, що є ексклюзивною розробкою корпорації Microsoft, призначена виключно для застосування у Windows-системах і частково на Xbox, а OpenGL являє вільно поширювану кроссплатформенную технологію, застосовану в інших ОС (навіть в мобільних). Ліцензія GNU дозволяє будь-якому охочому вносити в компоненти цього API власні зміни і доповнення, що стосуються її удосконалення з метою підвищення продуктивності тих же відеокарт, в той час як поліпшень DirectX доводиться чекати по мірі виходу нових версій платформи. При цьому навіть з самими новими драйверами при використанні на старих версіях мосту графічні прискорювачі не видають заявлених виробником показників.

Головні переваги та недоліки

Говорячи про те, що краще - OpenGL або DirectX 11 (12), окремо варто відзначити, що перша платформа призначена тільки для графіки, а друга може використовуватися взагалі для всього того, що відноситься до мультимедіа (за графіком в даному випадку відповідає компонент Direct3D).
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Крім того, багатьом експертами відзначається, що в дуже високій мірі вибір на користь того чи іншого моста може залежати і від типу графічної карти. Але, якщо підходити до порівняння неупереджено, вважається, що в плані охоплення платформ краще виглядає OpenGL, але DirectX виграє в плані того, що є готовим програмним продуктом зразок класу Plug&Play. Однак не варто забувати і те, що інструментальний набір DirectX останніх версій і так доступний в OpenGL, а ось зворотного підтримки немає.

OpenGL або DirectX: що краще для ігор?

Що ж стосується ігор, і тут однозначної відповіді дати не можна. Так, наприклад, досить часто можна зустріти коментарі з приводу того, що графічні чіпи лінійки Radeon 9800 кращі результати в тестах показують на основі DirectX, а карти GeForce серії 5XXX – при використанні OpenGL. Зате у DirectX є ще одна незаперечна перевага.
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Оскільки міст OpenGL спочатку створювався для інших платформ, з ним в Windows можлива поява різного роду помилок, а ось DirectX дозволяє досить стерпно користуватися іграми навіть на застарілих комп'ютерах без всяких гальмувань (яскравий приклад – гра Age Of Empires).
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Буває і навпаки. Так, наприклад, деякі користувачі відзначають, що DOOM 3 на картах серії Radeon X1XXX з використанням OpenGL просто «літає», а Half-Life 2 дуже часто «гальмує». Але тут, мабуть, все залежить ще й від драйверів.

Але, за великим рахунком, якщо гра підтримує використання обох технологій, краще всього подивитися, яким буде результат роботи відеокарти при використанні кожного режиму поперемінно. Само собою зрозуміло, що досягнення оптимальної продуктивності і самі платформи, і драйвери графічних прискорювачів повинні бути оновлені до останніх версій.

Що краще для BlueStacks: DirectX або OpenGL?

Досить часто можна зустріти і питання з приводу використання одного з найпопулярніших емуляторів Android-систем під назвою BlueStacks. Яку платформу перевагу в BlueStacks - OpenGL або DirectX? На жаль, і тут однозначної відповіді дати не можна.
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Однак негласно вважається, що у разі встановлення за цей емулятор саме ігор, краще задіяти OpenGL, а ось, якщо гра буде гальмувати, тоді доведеться перемкнутися на DirectX. Але, знову ж таки, все це стосується тільки ігрової графіки. У випадку з професійною обробкою і рендерінгом відео доведеться досить серйозно експериментувати.

Рекомендації розробникам

Нарешті, якщо говорити про те, що краще - OpenGL або DirectX – для розробника, який тільки починає освоєння цих технологій і робить перші кроки, більшість фахівців в цій області зазначають, що спочатку краще ознайомитися з принципами функціонування та інструментальним набором DirectX, оскільки ця платформа виглядає для новачка більш простий, і для неї постійно випускаються непогані комплекти SDK, призначені якраз для спрощення адаптації програмних продуктів до "заліза", а тільки потім переходити до вивчення OpenGL.
OpenGL або DirectX: що краще, порівняльна характеристика, особливості, поради
Втім, багато що може залежати і від того, яку кінцеву мету ви перед собою ставите і який саме функціонал кожної платформи буде використовуватися в кожному конкретному випадку (тільки графіка, тільки звук або якісь об'єднані рішення).

Короткі висновки

Підводячи підсумки, як вже зрозуміло, однозначного висновку на користь одного або іншого компонента зробити досить складно. Між цими платформами йде постійне змагання. Іноді нова версія DirectX за своїми параметрами випереджає OpenGL, але у міру старіння, а також внесення в OpenGL якихось інновацій починає програвати. В цілому ж при виборі слід відштовхуватися виключно від загальновідомого принципу, що істина пізнається в порівнянні. Пробуйте і те і інше! Тільки після отримання конкретних результатів і для кожного конкретного випадку і буде ясно, до якої чаші терезів схилиться ваш вибір.