Injini mpya za uonyeshaji za OpenGL na Vulkan zimeongezwa kwenye GTK

Watengenezaji wa maktaba ya GTK wametangaza kupatikana kwa injini mbili mpya za uonyeshaji - "ngl" na "vulkan", kwa kutumia OpenGL (GL 3.3+ na GLES 3.0+) na API za michoro za Vulkan. Injini mpya zimejumuishwa katika toleo la majaribio la GTK 4.13.6. Katika tawi la majaribio la GTK, injini ya ngl sasa inatumiwa kwa chaguo-msingi, lakini matatizo makubwa yakitambuliwa katika tawi thabiti linalofuata la 4.14, injini ya zamani ya kutoa "gl" itarejeshwa.

Injini mpya zimewekwa kama zilizounganishwa na kuunganishwa kutoka msingi mmoja wa nambari. Kiini cha umoja ni kwamba API ya Vulkan inatumika kama msingi, juu yake ambayo kiwango tofauti cha uondoaji kimeundwa kwa OpenGL, kwa kuzingatia tofauti kati ya OpenGL na Vulkan. Njia hii ilifanya iwezekane kutumia miundombinu ya kawaida katika injini zote mbili kwa usindikaji wa grafu ya eneo, mabadiliko, maandishi ya kache na glyphs. Kuunganisha pia kumerahisisha kwa kiasi kikubwa utunzaji wa msingi wa msimbo wa injini zote mbili na kuzisasisha na kusawazishwa.

Tofauti na injini ya zamani ya gl, ambayo ilitumia shader rahisi tofauti kwa kila aina ya nodi ya kutoa na kupanga upya data mara kwa mara wakati wa uwasilishaji wa nje ya skrini, injini mpya badala ya uonyeshaji nje ya skrini hutumia shader changamano (ubershader) ambayo hutafsiri data kutoka kwa bafa. . Katika hali yake ya sasa, utekelezaji mpya bado uko nyuma ya ule wa zamani kwa suala la kiwango cha uboreshaji, kwani lengo kuu katika hatua ya sasa ni juu ya uendeshaji sahihi na urahisi wa matengenezo.

Vipengele vipya ambavyo havipo kwenye injini ya zamani ya gl:

  • Kulainisha contour - hukuruhusu kuhifadhi maelezo mazuri na kufikia mtaro laini.
    Injini mpya za uonyeshaji za OpenGL na Vulkan zimeongezwa kwenye GTK
  • Uundaji wa gradients za kiholela, ambazo zinaweza kutumia idadi yoyote ya rangi na kupinga-aliasing (katika injini ya gl, gradients tu za mstari, radial na conical na rangi 6 za kuacha ziliungwa mkono).
    Injini mpya za uonyeshaji za OpenGL na Vulkan zimeongezwa kwenye GTK
  • Kiwango cha sehemu, ambacho hukuruhusu kuweka viwango vya kiwango kisicho kamili, kwa mfano, wakati wa kutumia kiwango cha 125% kwa dirisha la 1200x800, buffer ya 1500x1000 itatengwa, na sio 2400x1600 kama kwenye injini ya zamani.
  • Usaidizi wa teknolojia ya DMA-BUF ya kutumia GPU nyingi na kupakua shughuli za mtu binafsi kwenye GPU nyingine.
  • Nodi nyingi za utoaji ambazo zilikuwa na shida katika utekelezaji wa zamani huchakatwa kwa usahihi.

Vizuizi vya injini mpya ni pamoja na ukosefu wa msaada wa kuwekwa kwa maadili yasiyo ya jumla (nafasi ya sehemu) na nodi za glshader, ambazo zilikuwa zimefungwa sana kwa sifa za injini ya zamani, na ambazo hazikuwa muhimu tena baada ya kuongeza msaada. nodes na masks (mask) na textures kwa uwazi. Pia inatajwa kuwa kuna uwezekano wa matatizo iwezekanavyo na madereva ya graphics yanayotokana na mabadiliko katika njia ya kufanya kazi na madereva.

Katika siku zijazo, kwa kuzingatia mtindo mpya wa umoja, uundaji wa injini za kutoa kwa kutumia Metal katika macOS na DirectX katika Windows haujatengwa, lakini uundaji wa injini kama hizo ni ngumu na utumiaji wa lugha zingine kwa vivuli ("ngl). ” na injini za β€œvulkan” hutumia lugha ya GLSL, kwa hivyo kwa Metal na Direct itabidi ama nakala za vivuli au kutumia safu kulingana na zana ya zana ya SPIRV-Cross).

Mipango ya siku zijazo ni pamoja na kutoa usaidizi na zana za HDR za udhibiti sahihi wa rangi, usaidizi wa uonyeshaji wa Njia kwenye upande wa GPU, uwezo wa kuonyesha michoro, uonyeshaji nje ya mkondo, na uboreshaji wa utendakazi kwa vifaa vya zamani na vilivyo na nguvu kidogo. Katika hali yake ya sasa, utendaji wa injini ya "vulkan" iko karibu na utendaji wa injini ya zamani ya "gl". Injini ya "ngl" ni duni katika utendaji kwa injini ya "gl" ya zamani, lakini utendaji unaopatikana unatosha kutoa kwa 60 au 144 FPS. Inatarajiwa kwamba hali itabadilika baada ya uboreshaji.

Chanzo: opennet.ru

Kuongeza maoni