Anonim

Ļaujiet tai saskarties: DirectX 11 un OpenGL noveco. DirectX 11 tika ieviests ar Windows 7 jau 2009. gadā, un OpenGL 4.0 sekoja gadu vēlāk. Programmatūras gados šīs tehnoloģijas tagad ir senas, un pašreizējā aparatūras raža, kurā tās darbojas, pat nebija uz rasēšanas tāfeles, kad tika izlaistas šīs grafikas API. Ņemot vērā šo acīmredzamo atvienošanos, ko nozare dara, lai panāktu laiku? Mēs apskatīsim tuvāko nākotni un redzēsim, bet vispirms sāksim izskaidrot, kas ir API un kādu funkciju tā kalpo spēlēm.

Kas ir API?

API vai lietojumprogrammu programmēšanas saskarne ir protokolu un rīku komplekts, ko izmanto programmatūras izveidošanai. Grafikas API patiešām ir tikai specializēta API, kas veidota, lai atvieglotu 3D grafikas ģenerēšanu. Grafikas API patiešām atvieglo 3D attēlu veidošanu, bet tie arī ļauj jums pateikt API kaut ko darīt (piemēram, uzzīmēt taisnstūri), un savukārt API ļauj tam sazināties ar aparatūru, kā rīkoties, lai pabeigtu šo uzdevumu. Tas ir galvenais iemesls, kāpēc tik daudz dažādu GPU ar specializētu aparatūru var darbināt vienas un tās pašas spēles. Ja nebūtu API, tā pati spēle būtu jāraksta dažādos veidos, lai sazinātos ar katru konkrēto aparatūras komplektu. Tas nopietni ierobežotu aparatūras ražošanu un ievērojami palielinātu spēļu celtniecības izmaksas, izmaksas, kuras galu galā tiktu segtas gala patērētājam.

Lai padarītu iepriekš sniegto skaidrojumu nedaudz saprotamāku, izmantošu analoģiju: Padomājiet par API kā būvlaukuma vadītāju. Viņa vai viņas pienākums ir ņemt arhitekta ideju un to sadalīt, ieplānot, kādām ekipāžām jāatrodas, kur un kad, un nodrošināt, lai visi atrastos vienā lappusē, kas jādara.

1. attēls: API darbības grafiskais attēlojums

Pašlaik izmantotās grafikas API

Tagad, kad mēs saprotam grafikas API darbu, ļaujiet sīkāk aplūkot pašreizējo izkārtojumu. Galvenais tirgus dalībnieks šodien ir Microsoft DirectX, kas tika ieviests jau 1995. gadā. Kopš tā izlaišanas tas ir vairākas reizes atjaunināts un ir iekļauts Microsoft Windows operētājsistēmā. DirectX ir viena grafikas API, kuru atbalstīs gandrīz katra spēle, kas izlaista personālajam datoram. Faktiski tas ir tik bieži, ka tas patiešām ir mūsdienu datoru spēļu standarts. DirectX ir ekskluzīvs tikai Windows un Microsoft produktiem, kas diemžēl padara to par ļoti noslēgtu sistēmu. Nākamais rindā ir OpenGL, vienīgais lielākais atvērtā koda grafikas API. OpenGL tika izlaists 1992. gadā un ir daudzplatformu, kas nozīmē, ka tas darbojas ar vairākām operētājsistēmām, ieskaitot Windows, Linux un Mac OS. Visbeidzot, mums ir jaunākā grafikas API Mantle. Mantle tika izstrādāta 2013. gadā, sadarbojoties AMD un Dice. Mantija ir pieejama operētājsistēmā Windows un tikai AMD GPU.

2. attēls: DirectX 12 un DirectX 11 salīdzināšana
Attēla avots; Attēlu kredīts: Intel

DirectX 12

DirectX 12 paredzēts izlaist ar Windows 10 šoruden, un tiek plānoti daudzi jauni uzlabojumi. Viens no lielākajiem uzlabojumiem ir daudz labāks vairāku vītņu atbalsts. Lielāka daļa darba ir sadalīta vairākos procesoru kodolos, ļaujot daudz labāk un efektīvāk izmantot CPU. Daudzas reizes DirectX 11 būs tikai viens centrālā procesora kodols pilnībā izlietots, kamēr citi kodoli sēž dīkstāvē. DirectX 12 sola šo darba slodzi vienmērīgāk sadalīt pa CPU kodoliem, piešķirot spēlēm daudz lielāku CPU jaudu darbam. Nākamais lielais uzlabojums, ko solīja DirectX 12, ir spēja apstrādāt daudz vairāk zvanu zvanu. Izlozes izsaukums notiek jebkurā laikā, kad spēles dzinējs vēlas kaut ko uzzīmēt uz ekrāna. Prasība par daudzu izlozes zvanu veikšanu parasti ir ļoti apliekama ar CPU. Domājams, ka DirectX 12 spēs apstrādāt līdz 600 000 zvanu zvanu. Raugoties perspektīvā, DirectX 9 varēja apstrādāt tikai 6000 zvanu zvanus vai 1/100 daļu no tā, ko DirectX 12 spēs.

Jau vairākus gadus ir iespējams palaist vairākus GPU SLI / Crossfire režīmā. Tomēr viens no lielajiem ierobežojumiem bija tas, ka kartēs iebūvētais VRAM nebija sakrauts kopā, lai izveidotu vienu lielu, nepārtrauktu baseinu. Piemēram, ja jums ir divi GPU, katram ar 2 GB VRAM, jums faktiski joprojām bija tikai 2 GB VRAM, jo katrai kartei tajā bija jābūt vienādai informācijai. DirectX 12 cer atrisināt šo problēmu, izmantojot AFR vai citu kadru atveidojumu. Tā vietā, lai katrs GPU atveidotu katra rāmja daļu, GPU tagad tā vietā atveidos vienu veselu rāmi. Tas ļaus katras kartes VRAM izmantot atsevišķi, un, cerams, ļaus kartēm ar mazāku VRAM daudzumu būt dzīvotspējīgām, lai ilgāku laiku varētu spēlēt. Domājams, ka DirectX 12 ir iekļautas daudzas citas jaunas iespējas, lai spēļu grafiku virzītu tālāk nekā jebkad agrāk. Tomēr korporācija Microsoft joprojām ir diezgan sīka par to, kas ir šīs jaunās funkcijas. Mēs, cerams, uzzināsim vairāk par viņiem, tiklīdz API izlaišana pietuvosies.

3. attēls: DirectX 12 API pieskaitāmās izmaksas tiek samazinātas, ja tiek izmantoti daudzkodolu CPU.
Attēla avots; Attēla kredīts: nVidia GeForce

Vulkāns

Par Vulkan nav tik daudz zināms, cik par DirectX 12, kā tikko tika paziņots GDC 2015. Tas, ko mēs zinām, ir tas, ka OpenGL veidotāji, Khronos Group, nomainīja vārdu glNext par labu Vulkan. Liekas, ka Vulkāns ir iegūts no Mantle, kuru es jau iepriekš minēju rakstā. Turklāt izskatās, ka AMD, sadarbojoties ar Khronos Group, Vulkanam piedāvā labākās Mantijas daļas. Tiek uzskatīts, ka Vulkan ir daudz tādu pašu DirectX 12 priekšrocību, taču tas nav piesaistīts vienai platformai kā Windows. Tā vietā tā būs pieejama daudzās dažādās platformās, ieskaitot Linux un pat mobilajās ierīcēs. Gan Windows, gan Linux Vulkan draiveri atšķirībā no DirectX būs pilnīgi atvērti. Vulkan uzlabos vairāku pavedienu ieviešanu un tāpēc daudz labāk izmantos šodien pieejamo CPU jaudu, sadalot darba slodzi pa vairākiem CPU kodoliem. Kā jau tika minēts iepriekš, samazinot procesora slodzi, GPU vairs nebūs tik viegli, kā tagad. Tam vajadzētu dot diezgan ievērojamu kadru palielinājumu spēļu laikā. Source 2, kuru nesen paziņoja Valve, būs pirmais jaunais spēles dzinējs, kas pilnībā atbalstīs Vulkan, lai gan es esmu pārliecināts, ka tuvākajā laikā tiks paziņots par daudz vairāk. Spēle Dota 2, kas ir pazīstama ar intensīvu CPU, tika demonstrēta 2. avotā ar jauno Vulkan API, izmantojot Intel integrēto grafiku CPU. Tas ir kaut kas, kas noteikti nebūtu bijis vēlams, izmantojot DirectX 11, bet, šķiet, spēle ar Vulkan visu laiku uzturēja saprātīgu kadru ātrumu. Dans Beikers, kurš ir oksīda spēļu izstrādātājs, pat pateica, ka “kamēr GPU ražotāji nerīkojas kopā un nedara GPU desmit reizes ātrāk nekā mēs tagad, mēs nevaram izcelt CPU”. Šīs ir labas ziņas cilvēkiem, kuri darbojas lēnāk, vai kuriem ir daudz GPU zirgspēku, jo tas nozīmēs, ka ar to pašu aparatūras komplektu var sasniegt daudz labāku sniegumu.

4. attēls: diagramma, kurā parādītas Vulkan priekšrocības (samazināts sašaurinājums GPU).
Attēla avots; Attēla kredīts: Khronos

Ko tas nozīmē spēļu nākotnei?

Nu, jau labu laiku GPU jauda ir pieaugusi daudz straujāk nekā CPU jauda. Pirms pieciem gadiem Intel pat paziņoja, ka daži GPU ir 14 reizes ātrāki nekā viņu pašu CPU. Šie testi tika veikti, izmantojot nVidia GTX 280 salīdzinājumā ar i7 960 Intel centrālo procesoru - tagad to uzskata par salīdzinoši novecojušu aparatūru. Atšķirībai starp nVidia GTX Titan X (vai pat nVidia GTX 980) un pašreizējo galveno CPU jaudētāju - Intel i7-4790k CPU - vajadzētu būt daudz lielākam. Es gribu mēģināt pievērst uzmanību tam, ka CPU dēļ mēs arvien vairāk sākam redzēt spēles, kuras sniegumā ietekmē sienas. Pajautājiet ikvienam, kam ir augsts atsvaidzināšanas ātruma monitors, cik grūti dažās spēlēs uzturēt 100+ kadri sekundē ar pašreizējo CPU. Atklāti sakot, bez šīm jaunajām API un spējām efektīvāk izmantot CPU jaudu tas būtu tikai grūtāk. Šo jauno API ieviešana lielākajai daļai cilvēku varētu nozīmēt milzīgu veiktspējas uzlabojumu. Turklāt tas arī ļautu izstrādātājiem izveidot daudz vairāk CPU ietilpīgu spēļu, nekā mums ir tagad. Piemēram, iedomājieties tādu spēli kā Assasins Creed, kurā vienlaikus ir ekrānā tūkstošiem NPC, un visi jūs mijiedarbojaties savā starpā un ar jūsu varoni, kamēr jūs klejojat pa pilsētu. Vai arī tādām spēlēm kā Star Citizen, kur jums ir nepieciešams ļoti ļoti spēcīgs centrālais procesors, lai iegūtu jebkāda veida stabilu un pieņemamu kadru ātrumu, tuvākajā nākotnē labākajā gadījumā var būt nepieciešams vidējais CPU un spēcīgs GPU, lai saglabātu jauku stabilu 60 kadri sekundē.

Galu galā šis ir ļoti aizraujošs laiks, lai būtu spēlētājs. Kad šie jaunie grafiskie API tiks izlaisti, mēs, iespējams, redzēsim vislielāko lēcienu spēļu tehnoloģijā ilgu laiku. Cerēsim tikai uz to, ka šie API spēs apmierināt jau iepriekš izveidoto.

Jaunas grafikas api un pc spēļu nākotne