Grafiikkasovellusliittymät, kuten OpenGL ja DirectX, toimivat siltana pelien pelaamiseen käytetyn ohjelmiston ja grafiikkalaitteiston välillä. Nämä API: t tarjoavat standardoituja menetelmiä 2D- ja 3D-grafiikan näyttämiseksi näytöllä. Niistä on tullut olennainen pelikehitys parin viime vuosikymmenen aikana.

Unityn kaltaiset moottorit tarjoavat mahdollisuuden valita käyttämiensä grafiikkasovellusliittymien välillä, mutta miten sinun pitäisi valita oikea vaihtoehto pelillesi? Liity meihin, kun vertaamme OpenGL: ää DirectX: ään, jotta saat käsityksen siitä, mikä näistä työkaluista sopii sinulle parhaiten.

DirectX vs. OpenGL: Main Feature Overview

Sekä DirectX: llä että OpenGL: llä on ytimessä sama grafiikkaputki, ja niillä on ollut useita vuosia. Molemmat sovellusliittymät käyttävät pisteitä, joita kutsutaan kärkipisteiksi monimutkaisten grafiikkaprimitiivien rakentamiseen. Jokainen kärki tallentaa omat koordinaattinsa ja muita tärkeitä tietoja. Mutta tapa, jolla jokainen kirjasto käyttää huippuja, on erilainen.

instagram viewer

Ne voivat suorittaa samanlaisia ​​toimintoja, mutta huomaat eron OpenGL: n ja DirectX: n välillä, jos työskentelet niiden kanssa.

DirectX vs. OpenGL: API laajuus

Ennen kuin mennään paljon pidemmälle, on tärkeää huomata, että vaikka ne ovat molemmat grafiikkasovellusliittymiä, OpenGL: llä ja DirectX: llä on erilaiset laajuudet. OpenGL on puhdasrotuinen grafiikkasovellusliittymä, ja tämä tarkoittaa, että se ei käsittele mitään muuta kuin 2D- ja 3D-grafiikkaa. DirectX puolestaan ​​​​on kokoelma grafiikkaa, ääntä, verkkoa ja muita laitteistorajaliittymiä, jotka kaikki toimivat yhdessä.

Joissakin tapauksissa OpenGL käyttää DirectX: ää sellaisten toimintojen suorittamiseen, joita se ei voi tehdä yksin. Tämän artikkelin loppuosassa sivuutetaan tämä ero näiden kahden API: n välillä ja keskitytään kunkin työkalun grafiikkaelementteihin.

OpenGL vs. DirectX: Alustat

OpenGL on ilmainen API, jota hallinnoi voittoa tavoittelematon yritys nimeltä Khronos Group, kun taas DirectX on Microsoftin valmistama. DirectX toimii ensisijaisesti Windowsissa ja Xboxissa, ja muut alustat, kuten Linux, saavat hitaasti tukea. OpenGL on monialustainen, joten sitä voidaan käyttää pelien kehittämiseen useissa käyttöjärjestelmissä ja pelikonsoleissa.

DirectX vs. OpenGL: Hardware Resources

DirectX jättää laitteiston hallinnan kehittäjälle, mikä antaa sinulle mahdollisuuden allokoida resursseja tehokkaasti tarpeen mukaan. OpenGL hoitaa laitteistonhallinnan, mutta tällä voi olla omat etunsa, koska sinun ei tarvitse huolehtia resurssien hallinnasta itse.

DirectX vs. OpenGL: Dokumentaatio

Yksityiskohtaisten dokumenttien käyttö voi tehdä pelien kehittämisestä paljon helpompaa, kun työskentelet API: iden kanssa. DirectX ja OpenGL tarjoavat säännöllisesti päivitettävää dokumentaatiota ja hyödyllisiä kehittäjäyhteisöjä. Molemmat sovellusliittymät saavat suuria vuosittaisia ​​päivityksiä varmistaakseen, että ne tarjoavat parhaat saatavilla olevat ominaisuudet.

OpenGL vs. DirectX pelien kehittämiseen

Kehittäjät ovat tehneet monia kauniita ja hyvin optimoituja pelejä nykyaikaisille markkinoille sekä OpenGL: n että DirectX: n avulla. On useita asioita, jotka sinun tulee ottaa huomioon valittaessa 2D/3D-grafiikkasovellusliittymää. Jotkut kehittäjät luottavat vain siihen työkaluun, jota he pitävät eniten.

OpenGL tai DirectX: Alustat

Olemme jo käsitelleet alustoja, mutta tämä on kehittäjille tärkeä näkökohta. Jos haluat tehdä pelejä Nintendo Switchille, Playstation 4:lle tai Linuxille, sinun on työskenneltävä OpenGL: n tai muun niitä tukevan API: n kanssa. DirectX on tehty Windowsille ja Xboxille, ja se on rajoitettu yhteensopivuus muiden järjestelmien kanssa.

OpenGL tai DirectX: Moottorin yhteensopivuus

Useimmat pelinkehittäjät käyttävät nykyään Unityn ja Unrealin kaltaisia ​​moottoreita peliensä luomiseen. Molemmat moottorit tukevat OpenGL: ää ja DirectX: ää, samoin kuin muut monialustaiset pelikehitysmoottorit.

OpenGL tai DirectX: Helppokäyttöisyys

Jotkut väittävät, että OpenGL: n kanssa on helpompi työskennellä kuin DirectX: n kanssa. Laitteiston ohella OpenGL käsittelee vain grafiikkaa, mikä tekee siitä luonnostaan ​​yksinkertaisempaa. Se, että se toimii useammilla alustoilla, helpottaa myös pelien julkaisemista tällä vaatimuksella.

Graphics API: n helppokäyttöisyys ei ole pelikehittäjille yhtä tärkeää kuin ennen. Unityn kaltaisilla moottoreilla Kulissien takana olevien grafiikkasovellusliittymien kanssa käyttämäsi API: n vaihtaminen kestää vain napin painalluksen. Jos et luo peliä tyhjästä, on epätodennäköistä, että huomaat eron kunkin API: n käytön helppoudessa.

OpenGL tai DirectX: Grafiikkaominaisuudet

Ellet ole marginaalinen tapaus, on epätodennäköistä, että näet valtavan eron käytettävissä olevissa ominaisuuksissa näiden välillä. API: t. Molemmat tukevat grafiikkakorttisi ominaisuuksia, ja tämä muuttuu vain, jos GPU: t näkevät dramaattisia muutoksia tulevaisuutta.

OpenGL tai DirectX: Pelin suorituskyky

Kehittäjien välillä on paljon keskustelua näiden API: iden toimivuudesta. On vaikea kuvitella, että OpenGL tai DirectX: llä on merkittäviä suorituskykyeroja, vaikka väite, että OpenGL on sujuvampi ja tehokkaampi, on yleinen verkossa.

Ainoa tapa selvittää, mikä näistä sovellusliittymistä toimii parhaiten, on testata. Unityn molempien sovellusliittymien kanssa yhteensopivuuden ansiosta voimme luoda projektin ja testata mallipeliä molemmilla API: illa. luoda suorituskyvyn vertailukohta.

Nämä testit on suoritettu sekä 2D- että 3D-grafiikalla sen varmistamiseksi, että niiden erilaiset liukuhihnat eivät ole merkittävä tekijä. Jokainen testi kestää 120 sekuntia normaalia peliä ja ruutuja sekunnissa mitataan suorituskyvyn määrittämiseksi. Kaikki testit on tehty samalla PC: llä.

3D-suorituskykytesti: Unity Carting Microgame

Unity Carting Microgame on ilmainen malli, joka sisältää kaiken mitä tarvitset yksinkertaisen ajopelin rakentamiseen. Sen mukana tulee opetusohjelmia, mutta olemme enemmän kiinnostuneita itse pelistä. Rakensimme Carting Microgamen sekä OpenGL: n että DirectX: n kanssa vertaillaksemme niiden suorituskykyä, ja tulokset olivat seuraavat:

Alin Korkein Keskiverto
DirectX 331 848 365.05
OpenGL 247 819 283.7

DirectX suoritti OpenGL: n 3D-vertailussamme saavuttaen vaikuttavat kuvataajuudet kauttaaltaan. OpenGL: n tulokset ovat edelleen enemmän kuin pelattavissa.

2D-suorituskykytesti: Unity Platformer Microgame

Aivan kuten Carting Microgame, Unity Platformer Microgame on ilmainen ja täynnä upeita oppimistyökaluja. Kuten odotettiin, testiemme 2D-peli toimii paremmin kuin 3D-peli, mutta voit arvioida tulokset itse.

Alin Korkein Keskiverto
DirectX 599 850 767.367
OpenGL 302 604 515.417

Kuten yllä olevista tuloksista näet, DirectX saavutti testissämme paljon korkeamman keskimääräisen kuvanopeuden. Vaikka ero saattaa näyttää dramaattiselta, molemmat tulokset ovat erittäin pelattavissa.

OpenGL tai DirectX 11: Suorituskyky

Vaikka monet sanovat, että OpenGL toimii paremmin kuin DirectX, jälkimmäinen API saavutti parempia tuloksia molemmissa vertailuissamme. Tämä ei ole läheskään ratkaisevaa, sillä monet tekijät vaikuttavat pelin suorituskykyyn, varsinkin kun ne muuttuvat monimutkaisemmiksi.

DirectX vai OpenGL: kumpaa sinun pitäisi käyttää pelien kehittämiseen?

Oikean grafiikka-API: n valinta riippuu useista tekijöistä. DirectX on laajimmin käytetty grafiikkasovellusliittymä. Monet pelinkehittäjät luovat pelinsä Windowsille ja Xboxille ennen kuin siirtävät ne OpenGL: ään muille alustoille. Jos julkaiset pelin yksinomaan Windowsin ja Xboxin ulkopuolella, saatat hyötyä OpenGL: n käyttämisestä alusta alkaen.

Suorituskyky on myös huomioitava tekijä, vaikka testauksemme osoittavat, että tämä on melko merkityksetöntä Unityn kaltaisia ​​moottorityökaluja käytettäessä. Pohjimmiltaan näiden kahden grafiikka-API: n välisillä eroilla on merkitystä vain niille, jotka etsivät erityisiä markkinaraon ominaisuuksia.