Anonim

Pripažinkime: „DirectX 11“ ir „OpenGL“ sensta. „DirectX 11“ buvo pristatyta su „Windows 7“ dar 2009 m., O po metų - „OpenGL 4.0“. Programinės įrangos metais šios technologijos yra senovės, o dabartinė jų naudojama aparatinė įranga net nebuvo brėžinių lentoje, kai buvo paleistos šios grafikos API. Atsižvelgiant į šį akivaizdų atsiribojimą, ką pramonė daro, kad susitvarkytų su laikais? Na, mes pažvelgsime į artimiausią ateitį ir pamatysime, bet pirmiausia pradėkime paaiškinti, kas yra API ir kokią funkciją ji teikia žaidimams.

Kas yra API?

API arba programos programavimo sąsaja yra protokolų ir įrankių, naudojamų programinei įrangai kurti, rinkinys. Grafikos API iš tikrųjų yra tik specializuota API, sukurta palengvinti 3D grafikos generavimą. Grafikos API palengvina 3D vaizdų kūrimą, tačiau jie taip pat leidžia nurodyti API ką nors padaryti (pvz., Nubrėžti stačiakampį), o savo ruožtu leisti API tada bendrauti su aparatūra, kaip atlikti šią užduotį. Tai yra pagrindinė priežastis, kodėl tiek daug skirtingų GPU su specializuota aparatine įranga gali paleisti tuos pačius žaidimus. Neturint API, tas pats žaidimas turėtų būti parašytas skirtingais būdais, norint susisiekti su kiekvienu konkrečiu aparatinės įrangos rinkiniu. Tai smarkiai apribotų aparatinės įrangos gamintojus ir labai padidintų žaidimų kūrimo sąnaudas, kurios galiausiai būtų perkeltos galutiniam vartotojui.

Norėdami šiek tiek lengviau suprasti aukščiau pateiktą paaiškinimą, pasinaudosiu analogija: Pagalvokite apie API kaip statybvietės valdytoją. Jo arba jos užduotis yra paimti architekto idėją ir ją sugriauti, suplanuoti, kokie ekipažai turi būti kur ir kada, ir užtikrinti, kad visi būtų tame pačiame puslapyje, ką reikia padaryti.

1 paveikslas: API veikimo grafinis vaizdas

Šiuo metu naudojamos grafikos API

Dabar, kai suprantame grafikos API užduotį, galime atidžiau pažvelgti į dabartinę sudėtį. Pagrindinis rinkos dalyvis šiandien yra „Microsoft“ „DirectX“, kuris buvo pristatytas dar 1995 m. Jis buvo keletą kartų atnaujintas nuo išleidimo ir yra įtrauktas į „Microsoft“ operacinę sistemą „Windows“. „DirectX“ yra viena grafikos API, kurią palaikys beveik kiekvienas kompiuteriui išleistas žaidimas. Tiesą sakant, tai yra taip įprasta, kad tai tikrai yra kompiuterinių žaidimų standartas šiandien. „DirectX“ yra išskirtinis „Windows“ ir „Microsoft“ produktams, todėl, deja, tai yra labai uždara sistema. Kitas eilutėje yra „OpenGL“, vienintelis pagrindinis atvirojo kodo grafikos API. „OpenGL“ buvo išleista 1992 m. Ir yra daugiaplatforminė, tai reiškia, kad ji veikia su keliomis operacinėmis sistemomis, įskaitant „Windows“, „Linux“ ir „Mac OS“. Galiausiai turime naujausią grafikos API, „Mantle“. „Mantle“ buvo sukurta 2013 m., Bendradarbiaujant tarp AMD ir „Dice“. „Mantle“ galima „Windows“ ir tik AMD GPU.

2 paveikslas: „DirectX 12“ palyginimas su „DirectX 11“
Vaizdo šaltinis; Vaizdų kreditas: „Intel“

„DirectX 12“

„DirectX 12“ turėtų būti išleistas su „Windows 10“ šį rudenį ir ketinama pateikti daugybę naujų patobulinimų. Vienas didžiausių patobulinimų yra daug geresnė daugiapakopė atrama. Didesnė darbo dalis paskirstoma per kelis procesoriaus branduolius, leidžiančius daug geriau ir efektyviau naudoti CPU. Daug kartų „DirectX 11“ turės tik vieną centrinio procesoriaus branduolį, kuris bus visiškai išnaudotas, o kiti branduoliai sėdės beveik nenaudojami. „DirectX 12“ žada paskirstyti šį darbo krūvį procesoriaus branduoliuose tolygiau, suteikiant žaidimams daug daugiau procesoriaus galios darbui. Kitas didelis „DirectX 12“ pažadėtas patobulinimas yra galimybė valdyti daug daugiau skambučių. Lygiosios skambutis įvyksta bet kada, kai žaidimo variklis nori ką nors nupiešti ekrane. Daugialypių kvietimų reikalavimas paprastai labai apmokestina centrinį procesorių. Manoma, kad „DirectX 12“ galės aptarnauti iki 600 000 skambučių. Žvelgiant į tai perspektyvoje, „DirectX 9“ galėtų aptarnauti tik 6 000 skambučių arba 1/100 dalies to, ką sugebės „DirectX 12“.

Jau daugelį metų buvo galima paleisti kelis GPU SLI / Crossfire režimu. Tačiau vienas iš didelių apribojimų buvo tas, kad kortelėse įmontuotas VRAM nebuvo sukrautas kartu, kad būtų vienas didelis ištisinis baseinas. Pvz., Jei turite du GPU, kuriuose yra 2 GB VRAM, jūs vis tiek turėjote tik 2 GB VRAM, nes kiekvienoje kortelėje turėjo būti ta pati informacija. „DirectX 12“ tikisi išspręsti šią problemą naudodamas AFR arba alternatyvų kadro pateikimą. Vietoj kiekvieno GPU atvaizduojanti kiekvieno kadro dalį, GPU dabar vietoj kiekvieno paveikslo pateiks po vieną visą kadrą. Tai leis kiekvienos kortelės VRAM naudoti atskirai ir, tikėkimės, kortelės su mažesniu VRAM kiekiu bus perspektyvios žaidimui ilgą laiką. Manoma, kad „DirectX 12“ yra daugybė kitų naujų funkcijų, leidžiančių žaidimų grafiką perduoti dar labiau nei bet kada anksčiau. Vis dėlto „Microsoft“ vis dar gana niūriai pasakoja apie šias naujas savybes. Tikimės, kad apie juos sužinosime daugiau, kai tik pasirodys API leidimas.

3 paveikslas: „DirectX 12“ API pridėtinės vertės sumažėja, kai naudojami kelių branduolių procesoriai.
Vaizdo šaltinis; Vaizdo kreditas: „nVidia GeForce“

Vulkanas

Apie „Vulkan“ nėra žinoma tiek daug, kiek apie „DirectX 12“, kaip tik buvo pranešta 2015 m. GDC. Mes žinome, kad „OpenGL“ kūrėjai, „Khronos Group“, „glNext“ pavadinimą praleido „Vulkan“ vardu. Atrodo, kad „Vulkan“ yra kilęs iš „Mantle“, apie kurį anksčiau minėjau straipsnyje. Be to, panašu, kad AMD bendradarbiaujant su „Khronos Group“ atneša geriausias „Mantle“ dalis prie „Vulkan“ stalo. Manoma, kad „Vulkan“ turi daug tų pačių „DirectX 12“ pranašumų, tačiau jis nėra susietas su viena platforma, kaip „Windows“. Vietoj to jis bus prieinamas daugelyje skirtingų platformų, įskaitant „Linux“ ir net mobiliuosius įrenginius. Skirtingai nei „DirectX“, „Windows“ ir „Linux“ „Vulkan“ tvarkyklės bus visiškai atviros. „Vulkan“ pagerins kelių sriegių valdymą, todėl daug geriau išnaudos šiandien turimą procesoriaus galią, paskirstydamas darbo krūvį keliuose procesoriaus branduoliuose. Kaip jau buvo minėta anksčiau, sumažinus procesoriaus apkrovą GPU nebus apkraunami taip lengvai, kaip dabar. Tai turėtų suteikti gana didelę pamatinę galią žaidimų metu. Šaltinis 2, kurį neseniai paskelbė „Valve“, bus pirmasis naujas žaidimo variklis, visiškai palaikantis „Vulkan“, nors aš tikiu, kad artimiausiu metu bus paskelbta dar daugiau. Dota 2, žaidimas, žinomas kaip intensyvus procesoriams, buvo rodomas 2 šaltinyje su naujuoju „Vulkan“ API, naudojant „Intel“ integruotą grafiką procesoriuje. Tai buvo kažkas, ko tikrai nebuvo pageidautina naudojant „DirectX 11“, tačiau atrodė, kad žaidimas su „Vulkan“ išlaikė pagrįstą kadrų dažnį. Danas Bakeris, kuris yra „Oxide“ žaidimų kūrėjas, netgi pasakė, kad „kol GPU gamintojai susitars ir nepadarys GPU dešimt kartų greičiau nei mes dabar, mes negalime išnaudoti procesoriaus“. Tai gera žinia žmonėms, dirbantiems lėčiau CPU arba turintiems daug GPU arklio galių, nes tai reikš, kad tas pats aparatūros rinkinys bus pasiektas daug geriau.

4 paveikslas: „Vulkan“ pranašumų diagrama (sumažinta GPU kliūtis).
Vaizdo šaltinis; Vaizdo kreditas: „Khronos“

Ką tai reiškia žaidimų ateičiai?

Na, o ilgą laiką GPU galia didėjo daug greičiau nei procesoriaus galia. Prieš penkerius metus „Intel“ netgi pareiškė, kad kai kurie GPU buvo 14 kartų greitesni nei jų pačių procesoriai. Šie bandymai buvo atlikti naudojant „nVidia GTX 280“ ir „i7 960 Intel“ centrinį procesorių - dabar laikomą palyginti pasenusia aparatine įranga. Tarpas tarp „nVidia GTX Titan X“ (ar net „nVidia GTX 980“) ir dabartinio pagrindinio procesoriaus stiprintuvo - „Intel i7-4790k“ procesoriaus - turėtų būti daug didesnis. Bandau pabrėžti, kad mes pradedame matyti vis daugiau ir daugiau žaidimų, kurie pasiekia sieną dėl procesoriaus. Paklauskite visų, turinčių didelį atnaujinimo dažnio monitorių, kaip sunku išlaikyti 100+ kadrų per sekundę esant dabartiniams procesoriams kai kuriuose žaidimuose. Atvirai kalbant, be šių naujų API ir jų galimybių efektyviau panaudoti procesoriaus galią būtų tik sunkiau. Šių naujų API įdiegimas daugeliui žmonių galėtų reikšti didžiulį našumo padidėjimą. Be to, tai taip pat leistų kūrėjams sukurti daug daugiau procesoriaus reikalaujančių žaidimų, nei mes turime dabar. Pvz., Įsivaizduokite tokį žaidimą kaip „Assasins Creed“, kuriame vienu metu ekrane gali būti tūkstančiai NPK, kurie visi sąveikauja tarpusavyje ir su jūsų personažu, kai keliaujate po miestą. Arba tokius žaidimus kaip „Star Citizen“, kur jums reikia labai labai stipraus procesoriaus, kad gautumėte bet kokį stabilų ir priimtiną kadrų dažnį, artimiausiu metu gali prireikti vidutinio CPU ir stipraus GPU, kad išlaikytumėte gražų stabilų 60 kadrų per sekundę dažnį.

Galų gale tai labai įdomus laikas būti žaidėju. Kai šios naujos grafikos API bus išleistos, mes galime tiesiog pamatyti ilgą laiką didžiausią žaidimų technologijos šuolį. Tikėkimės, kad šie API gali patenkinti savo suplanuotą lygį.

Naujos grafikos api ir kompiuterinių žaidimų ateitis