Ma injini atsopano omasulira a OpenGL ndi Vulkan awonjezedwa ku GTK

Opanga laibulale ya GTK alengeza za kupezeka kwa injini ziwiri zatsopano zomasulira - "ngl" ndi "vulkan", pogwiritsa ntchito OpenGL (GL 3.3+ ndi GLES 3.0+) ndi ma API a zithunzi za Vulkan. Injini zatsopano zikuphatikizidwa pakutulutsidwa koyeserera kwa GTK 4.13.6. Munthambi yoyesera ya GTK, injini ya ngl tsopano ikugwiritsidwa ntchito mwachisawawa, koma ngati mavuto aakulu azindikiridwa munthambi yotsatira ya 4.14, injini yakale yoperekera "gl" idzabwezeredwa.

Ma injini atsopano amayikidwa ngati ogwirizana ndikusonkhanitsidwa kuchokera pa code imodzi. Chofunikira cha mgwirizano ndikuti Vulkan API imagwiritsidwa ntchito ngati maziko, pamwamba pake pomwe gawo losiyana la OpenGL lapangidwa, poganizira kusiyana kwa OpenGL ndi Vulkan. Njirayi idapangitsa kuti zitheke kugwiritsa ntchito zida zofananira m'mainjini onse awiri pokonza ma graph, masinthidwe, mawonekedwe a caching ndi glyphs. Kugwirizana kunathandiziranso kwambiri kukonza ma code a injini zonse ziwiri ndikuzisunga kuti zikhale zatsopano komanso zogwirizana.

Mosiyana ndi injini yakale ya gl, yomwe inkagwiritsa ntchito shader yosiyana pamtundu uliwonse wa render node ndikusankhanso deta nthawi ndi nthawi pakuwonetsa osatsegula, injini zatsopano m'malo mogwiritsa ntchito mawonekedwe akunja amagwiritsa ntchito shader yovuta (ubershader) yomwe imatanthauzira zomwe zili mu buffer. . M'mawonekedwe ake apano, kukhazikitsidwa kwatsopano kumatsalirabe kumbuyo kwakale potengera kuchuluka kwa kukhathamiritsa, popeza cholinga chachikulu pakali pano ndikugwira ntchito moyenera komanso kukonza bwino.

Zatsopano zomwe zikusowa mu injini yakale ya gl:

  • Contour kusalaza - kumakupatsani mwayi wosunga tsatanetsatane ndikukwaniritsa makongoletsedwe osalala.
    Ma injini atsopano omasulira a OpenGL ndi Vulkan awonjezedwa ku GTK
  • Kupanga ma gradients osagwirizana, omwe amatha kugwiritsa ntchito mitundu ingapo ndi anti-aliasing (mu injini ya gl, ma linear, radial ndi conical gradients okhala ndi mitundu 6 yoyimitsa okha adathandizidwa).
    Ma injini atsopano omasulira a OpenGL ndi Vulkan awonjezedwa ku GTK
  • Fractional scale, yomwe imakulolani kuti muyike miyeso yosawerengeka, mwachitsanzo, pogwiritsa ntchito sikelo ya 125% pawindo la 1200x800, chosungira cha 1500x1000 chidzaperekedwa, osati 2400x1600 monga injini yakale.
  • Thandizo laukadaulo wa DMA-BUF wogwiritsa ntchito ma GPU angapo ndikutsitsa magwiridwe antchito ku GPU ina.
  • Ma node ambiri omwe anali ndi zovuta pakukhazikitsa zakale amakonzedwa bwino.

Zoperewera zamainjini atsopanowa zikuphatikizanso kusowa kwa chithandizo chothandizira kuyika ndi milingo yosagwirizana (gawo la magawo) ndi ma glshader node, omwe amamangiriridwa kwambiri ndi mawonekedwe a injini yakale, ndipo zomwe sizinali zofunikanso pambuyo powonjezera thandizo mfundo zokhala ndi masks (mask) ndi mawonekedwe owonekera. Amatchulidwanso kuti pali kuthekera kwa mavuto omwe angakhalepo ndi madalaivala ojambula chifukwa cha kusintha kwa njira yogwirira ntchito ndi madalaivala.

M'tsogolomu, kutengera mtundu watsopano wolumikizana, kupangidwa kwa injini zogwiritsa ntchito Metal mu macOS ndi DirectX mu Windows sikukuphatikizidwa, koma kupangidwa kwa injini zotere kumakhala kovuta chifukwa chogwiritsa ntchito zilankhulo zina za shaders ("ngl). ” ndi injini za β€œvulkan” zimagwiritsa ntchito chilankhulo cha GLSL, kotero kuti Metal ndi Direct azipanga ma shader kapena kugwiritsa ntchito wosanjikiza potengera zida za SPIRV-Cross).

Zolinga zam'tsogolo zikuphatikiza kupereka chithandizo cha HDR ndi zida zowongolera zolondola zamitundu, kuthandizira kwa Njira yoperekera mbali ya GPU, kuthekera kopereka ma glyphs, kutulutsa kunja, komanso kukhathamiritsa kwa magwiridwe antchito a zida zakale komanso zotsika mphamvu. M'mawonekedwe ake amakono, ntchito ya injini ya "vulkan" ili pafupi ndi ntchito ya injini yakale ya "gl". Injini ya "ngl" ndiyotsika poyerekeza ndi injini yakale ya "gl", koma magwiridwe antchito omwe alipo ndi okwanira kuti aperekedwe pa 60 kapena 144 FPS. Zikuyembekezeka kuti zinthu zisintha pambuyo pa kukhathamiritsa.

Source: opennet.ru

Kuwonjezera ndemanga