Grafikas API, piemēram, OpenGL un DirectX, darbojas kā tilts starp programmatūru un grafisko aparatūru, ko izmanto spēļu spēlēšanai. Šīs API nodrošina standartizētas metodes 2D un 3D grafikas attēlošanai ekrānā. Pēdējo pāris gadu desmitu laikā tie ir kļuvuši par spēļu izstrādes pamatu.

Dzinēji, piemēram, Unity, piedāvā izvēlēties starp to izmantotajām grafikas API, taču kā jums vajadzētu izvēlēties savai spēlei pareizo opciju? Pievienojieties mums, salīdzinot OpenGL ar DirectX, lai sniegtu priekšstatu par to, kurš no šiem rīkiem jums ir vislabākais.

DirectX vs. OpenGL: galveno funkciju pārskats

Gan DirectX, gan OpenGL pamatā ir viens un tas pats grafikas cauruļvads, un tas ir bijis daudzus gadus. Abas API izmanto punktus, ko sauc par virsotnēm, lai izveidotu sarežģītus grafikas primitīvus. Katra virsotne saglabā savas koordinātas un citu svarīgu informāciju. Bet veids, kā katra bibliotēka izmanto virsotnes, ir atšķirīgs.

Tie var veikt līdzīgas funkcijas, taču, strādājot ar tiem, pamanīsit atšķirību starp OpenGL un DirectX.

instagram viewer

DirectX vs. OpenGL: API darbības joma

Pirms došanās daudz tālāk, ir svarīgi atzīmēt, ka, lai gan tās abas ir grafikas API, OpenGL un DirectX ir atšķirīgas darbības jomas. OpenGL ir tīršķirnes grafikas API, un tas nozīmē, ka tas nenodarbojas ar neko citu kā tikai 2D un 3D grafiku. No otras puses, DirectX ir grafikas, audio, tīklu un citas aparatūras API kolekcija, kas darbojas kopā.

Dažos gadījumos OpenGL izmantos DirectX, lai veiktu funkcijas, kuras tas pats nevar veikt. Pārējā šī raksta daļā tiks ignorēta šī atšķirība starp abām API, koncentrējoties uz katra rīka grafiskajiem elementiem.

OpenGL vs. DirectX: platformas

OpenGL ir bezmaksas API, ko pārvalda bezpeļņas uzņēmums Khronos Group, savukārt DirectX veido Microsoft. DirectX galvenokārt darbojas operētājsistēmās Windows un Xbox, un citas platformas, piemēram, Linux, lēnām saņem atbalstu. OpenGL ir vairāku platformu, padarot to izmantojamu spēļu izstrādei dažādās operētājsistēmās un spēļu konsolēs.

DirectX vs. OpenGL: aparatūras resursi

DirectX atstāj aparatūras pārvaldību izstrādātāja ziņā, sniedzot iespēju efektīvi sadalīt resursus pēc vajadzības. OpenGL nodrošina aparatūras pārvaldību, taču tam var būt savas priekšrocības, jo jums nav jāuztraucas par resursu pārvaldību pašam.

DirectX vs. OpenGL: dokumentācija

Piekļuve detalizētai dokumentācijai var ievērojami atvieglot spēļu izstrādi, strādājot ar API. DirectX un OpenGL piedāvā regulāri atjauninātu dokumentāciju un noderīgas izstrādātāju kopienas. Abas šīs API saņem lielus ikgadējus atjauninājumus, lai nodrošinātu, ka tās piedāvā labākās pieejamās funkcijas.

Izmantojot OpenGL vs. DirectX spēļu izstrādei

Izstrādātāji ir izveidojuši daudzas skaistas un labi optimizētas spēles mūsdienu tirgū, izmantojot gan OpenGL, gan DirectX. Izvēloties 2D/3D grafikas API, jāņem vērā vairākas lietas. Daži izstrādātāji vienkārši paļausies uz viņiem ērtāko rīku.

OpenGL vai DirectX: platformas

Mēs jau esam pieskārušies platformām, taču izstrādātājiem tas ir būtisks apsvērums. Ja vēlaties izveidot spēles Nintendo Switch, Playstation 4 vai Linux, jums būs jāstrādā ar OpenGL vai citu API ar to atbalstu. DirectX ir paredzēts operētājsistēmām Windows un Xbox, un tam ir ierobežota saderība ar citām sistēmām.

OpenGL vai DirectX: dzinēja saderība

Lielākā daļa spēļu izstrādātāju mūsdienās izmanto tādus dzinējus kā Unity un Unreal, lai izveidotu savas spēles. Abi šie dzinēji atbalsta OpenGL un DirectX, tāpat kā citi starpplatformu spēļu izstrādes dzinēji.

OpenGL vai DirectX: ērta lietošana

Daži iebilst, ka ar OpenGL ir vieglāk strādāt nekā ar DirectX. Papildus aparatūras resursiem OpenGL apstrādā tikai grafiku, padarot to vienkāršāku. Tas, ka tas darbojas vairākās platformās, arī atvieglo spēļu izlaišanu ar šo prasību.

Grafikas API lietošanas vienkāršība spēļu izstrādātājiem nav tik svarīga kā agrāk. Ar tādiem dzinējiem kā Unity Aizkulisēs saskaroties ar grafiskajām API, ir nepieciešams tikai klikšķis uz pogas, lai apmainītu izmantoto API. Ja vien jūs neveidojat spēli no jauna, maz ticams, ka pamanīsit atšķirību katras API lietošanas vienkāršībā.

OpenGL vai DirectX: grafikas līdzekļi

Ja vien neesat īsts gadījums, ir maz ticams, ka jūs pamanīsit milzīgas atšķirības jūsu pieejamajās funkcijās starp šīm ierīcēm. API. Tie abi atbalsta jūsu grafiskās kartes iespējas, un tas mainīsies tikai tad, ja GPU redzēs dramatiskas izmaiņas nākotne.

OpenGL vai DirectX: spēles veiktspēja

Izstrādātājiem ir daudz diskusiju par šo API veiktspēju. Grūti iedomāties, ka OpenGL vai DirectX ir ievērojamas veiktspējas atšķirības, lai gan apgalvojums, ka OpenGL ir vienmērīgāks un efektīvāks, ir izplatīts tiešsaistē.

Vienīgais veids, kā noskaidrot, kura no šīm API darbojas vislabāk, ir testēšana. Pateicoties Unity saderībai ar abām API, mēs varam izveidot projektu un pārbaudīt spēles paraugu ar abām API izveidot veiktspējas etalonu.

Šie testi ir veikti gan ar 2D, gan 3D grafiku, lai nodrošinātu, ka to atšķirīgie cauruļvadi nav nozīmīgs faktors. Katrs tests ilgst 120 sekundes regulāras spēles, un tiek mērīti kadri sekundē, lai noteiktu veiktspēju. Visas pārbaudes tika veiktas vienā datorā.

3D veiktspējas tests: Unity Carting Microgame

Unity Carting Microgame ir bezmaksas veidne, kurā ir viss nepieciešamais vienkāršas sacīkšu spēles izveidei. Tam ir arī apmācības, taču mūs vairāk interesē pati spēle. Mēs izveidojām Carting Microgame gan ar OpenGL, gan ar DirectX, lai salīdzinātu to veiktspēju, un rezultāti bija šādi:

Zemākais Augstākais Vidēji
DirectX 331 848 365.05
OpenGL 247 819 283.7

DirectX pārspēja OpenGL mūsu 3D etalonā, sasniedzot iespaidīgu kadru ātrumu visā pasaulē. OpenGL rezultāti joprojām ir vairāk nekā atskaņojami.

2D veiktspējas pārbaude: Unity Platformer Microgame

Līdzīgi kā Carting Microgame, Unity Platformer Microgame ir bezmaksas un aprīkota ar lieliskiem mācību rīkiem. Kā gaidīts, 2D spēle mūsu testos darbojas labāk nekā 3D spēle, taču jūs varat novērtēt rezultātus pats.

Zemākais Augstākais Vidēji
DirectX 599 850 767.367
OpenGL 302 604 515.417

Kā redzat no iepriekš sniegtajiem rezultātiem, DirectX mūsu testēšanas laikā sasniedza daudz lielāku vidējo kadru ātrumu. Lai gan atšķirība var šķist dramatiska, abi rezultāti ir ļoti spēlējami.

OpenGL vai DirectX 11: veiktspējas secinājumi

Lai gan daudzi cilvēki saka, ka OpenGL darbojas labāk nekā DirectX, pēdējā API sasniedza labākus rezultātus abos mūsu etalonos. Tas nebūt nav pārliecinošs, jo daudzi faktori ietekmē spēles veiktspēju, jo īpaši, ja tie kļūst sarežģītāki.

DirectX vai OpenGL: kuru izmantot spēļu izstrādei?

Pareiza grafikas API izvēle ir atkarīga no vairākiem faktoriem. DirectX ir visplašāk izmantotā grafikas API. Daudzi spēļu izstrādātāji izveido savas spēles operētājsistēmai Windows un Xbox, pirms tās pārnes uz OpenGL citām platformām. Ja publicējat spēli tikai ārpus operētājsistēmas Windows un Xbox, jūs varētu gūt labumu no OpenGL izmantošanas no paša sākuma.

Veiktspēja ir arī faktors, kas jāņem vērā, lai gan mūsu testēšana liecina, ka tas ir diezgan niecīgs, ja tiek izmantoti tādi dzinēja rīki kā Unity. Būtībā atšķirības starp šīm divām grafikas API ir svarīgas tikai tiem, kas meklē īpašas nišas funkcijas.