Iinjini zokunikezela ezintsha ze-OpenGL kunye neVulkan zongezwe kwi-GTK

Abaphuhlisi bethala leencwadi le-GTK babhengeze ukufumaneka kweenjini ezimbini zonikezelo - β€œngl” kunye ne β€œvulkan”, kusetyenziswa i-OpenGL (i-GL 3.3+ ne-GLES 3.0+) kunye nee-API zegrafiki zeVulkan. Iinjini ezintsha zibandakanyiwe ekukhutshweni kovavanyo lwe-GTK 4.13.6. Kwisebe lovavanyo lwe-GTK, i-injini ye-ngl ngoku isetyenziswa ngokungagqibekanga, kodwa ukuba iingxaki ezibalulekileyo zichongiwe kwisebe elilandelayo elizinzile elingu-4.14, i-injini ye-"gl" endala iya kubuyiselwa.

Iinjini ezintsha zibekwe njengedityanisiwe kwaye zidityanisiwe ukusuka kwisiseko sekhowudi enye. Undoqo wokumanyana kukuba i-Vulkan API isetyenziswa njengesiseko, phezu kwayo inqanaba lokutsalwa elahlukileyo lenzelwe i-OpenGL, kuthathelwa ingqalelo umahluko phakathi kwe-OpenGL neVulkan. Le ndlela yenza ukuba kube lula ukusebenzisa isiseko esiqhelekileyo kuzo zombini iinjini zokucubungula igrafu yesiganeko, ukuguqulwa, ukuthungwa kwe-caching kunye neeglyphs. Ukumanyana kwakhona kwenza lula kakhulu ukugcinwa kwesiseko sekhowudi yazo zombini iinjini kunye nokuzigcina zisexesheni kwaye zilungelelaniswe.

Ngokungafaniyo ne-injini endala ye-gl, eyayisebenzisa i-shader elula eyahlukileyo kuhlobo ngalunye lwe-node yonikezelo kwaye ngamaxesha athile ihlelwe ngokutsha idatha ngexesha lonikezelo olungaphandle kwesikrini, ii-injini ezintsha endaweni yonikezelo lwe-offscreen zisebenzisa i-shader entsonkothileyo (ubershader) etolika idatha kwi-buffer. . Kwimeko yalo yangoku, ukuphunyezwa okutsha kusasele emva komdala ngokubhekiselele kwinqanaba lokuphucula, ekubeni ugxininiso oluphambili kwinqanaba langoku lisebenza ngokufanelekileyo kunye nokulula ukulungiswa.

Iimpawu ezintsha ezingekhoyo kwi-injini ye-gl endala:

  • I-Contour smoothing - ikuvumela ukuba ugcine iinkcukacha ezintle kwaye ufezekise iikhonto ezigudileyo.
    Iinjini zokunikezela ezintsha ze-OpenGL kunye neVulkan zongezwe kwi-GTK
  • Ukuqulunqwa kwee-gradients ezingaqhelekanga, ezinokuthi zisebenzise nayiphi na inani lemibala kunye ne-anti-aliasing (kwi-injini ye-gl, kuphela i-linear, i-radial kunye ne-conical gradients enemibala emi-6 yokuyeka yaxhaswa).
    Iinjini zokunikezela ezintsha ze-OpenGL kunye neVulkan zongezwe kwi-GTK
  • Isikali se-fractional, esikuvumela ukuba usete amaxabiso omlinganiselo we-non-integer, umzekelo, xa usebenzisa isikali se-125% kwifestile ye-1200x800, i-buffer ye-1500x1000 iya kwabiwa, kwaye hayi i-2400x1600 njenge-injini endala.
  • Inkxaso yetekhnoloji ye-DMA-BUF yokusebenzisa ii-GPU ezininzi kunye nokukhuphela imisebenzi yomntu kwenye i-GPU.
  • Uninzi lweenodi zonikezelo ebezineengxaki ekuphunyezweni okudala zicutshungulwa ngokuchanekileyo.

Imida yee-injini ezintsha ibandakanya ukungabikho kwenkxaso yokumiswa ngamaxabiso angeyonxalenye (indawo yefractional) kunye neendawo ze-glshader, ezazibotshelelwe kakhulu kwiimpawu ze-injini endala, ezazingaseyomfuneko emva kokongeza inkxaso. iindawo zokuhlala ezinemaski (imaski) kunye nokwenziwa kwezinto elubala. Kwakhona kukhankanyiwe ukuba kukho iingxaki ezinokwenzeka ngabaqhubi bemizobo ezivela ngenxa yotshintsho kwindlela yokusebenza nabaqhubi.

Kwixesha elizayo, ngokusekwe kwimodeli entsha emanyeneyo, ukudalwa kweenjini zokunikezela kusetyenziswa iMetal kwiMacOS kunye neDirectX kwiWindows ayibandakanywanga, kodwa ukudalwa kweenjini ezinjalo kuntsonkothile kukusetyenziswa kwezinye iilwimi zeshader (i "ngl" ” kunye neenjini ze-β€œvulkan” zisebenzisa ulwimi lwe-GLSL, ke kwiMetal kunye ne-Direct kuya kufuneka ziphindaphinde iishader okanye zisebenzise umaleko osekelwe kwi-SPIRV-Cross toolkit).

Izicwangciso zexesha elizayo zibandakanya ukubonelela ngenkxaso ye-HDR kunye nezixhobo zokulawula umbala ochanekileyo, inkxaso yokunikezelwa kweNdlela kwicala le-GPU, ukukwazi ukubonelela ngeeglyphs, ukunikezelwa kwe-off-stream, kunye nokulungiswa kokusebenza kwezixhobo ezindala kunye namandla aphantsi. Kwimo yayo yangoku, ukusebenza kwe-injini ye "vulkan" isondele ekusebenzeni kwe-injini endala "gl". I-injini ye-"ngl" iphantsi ekusebenzeni kwi-injini ye-"gl" endala, kodwa ukusebenza okukhoyo kwanele ukunikezelwa kwi-60 okanye i-144 FPS. Kulindeleke ukuba imeko itshintshe emva kokulungiswa.

umthombo: opennet.ru

Yongeza izimvo