Ua hoʻohui ʻia nā ʻenekini hana hou no OpenGL a me Vulkan i GTK

Ua hoʻolaha nā mea hoʻomohala o ka hale waihona GTK i ka loaʻa ʻana o ʻelua mau mīkini hoʻololi hou - "ngl" a me "vulkan", me ka hoʻohana ʻana i ka OpenGL (GL 3.3+ a me GLES 3.0+) a me nā API kiʻi Vulkan. Hoʻokomo ʻia nā ʻenekini hou i ka hoʻokuʻu hoʻokolohua o GTK 4.13.6. Ma ka lālā GTK hoʻokolohua, hoʻohana ʻia ka ʻenekini ngl ma ke ʻano maʻamau, akā inā ʻike ʻia nā pilikia koʻikoʻi ma ka lālā paʻa aʻe 4.14, e hoʻihoʻi ʻia ka ʻenekini "gl" kahiko.

Hoʻonohonoho ʻia nā ʻenekini hou e like me ka hui ʻana a ʻākoakoa ʻia mai kahi kumu code hoʻokahi. ʻO ke kumu o ka hoʻohui ʻana ʻo ia ka Vulkan API i hoʻohana ʻia ma ke kumu, ma luna o ka mea i hana ʻia kahi pae abstraction kaʻawale no OpenGL, e noʻonoʻo ana i nā ʻokoʻa ma waena o OpenGL a me Vulkan. ʻO kēia ala i hiki ai ke hoʻohana i kahi ʻenehana maʻamau i nā ʻenekini ʻelua no ka hoʻoponopono ʻana i ka pakuhi hiʻohiʻona, ka hoʻololi ʻana, ka hoʻopili ʻana i nā ʻano leo a me nā glyphs. Ua maʻalahi hoʻi ka Unification i ka mālama ʻana i ke kumu code o nā ʻenekini ʻelua a mālama iā lākou i ka lā a me ka synchronized.

ʻAʻole like me ka mīkini gl kahiko, ka mea i hoʻohana i kahi shader maʻalahi no kēlā me kēia ʻano o ka node render a hoʻonohonoho hou i ka ʻikepili i ka wā o ka wehe ʻana i waho, hoʻohana nā ʻenekini hou ma kahi o ka wehe ʻana i waho i kahi shader paʻakikī (ubershader) e wehewehe i ka ʻikepili mai ka buffer. . I kona ʻano o kēia manawa, ua waiho ka hoʻokō hou ma hope o ka mea kahiko ma ke ʻano o ke kiʻekiʻe o ka optimizations, no ka mea, ʻo ka manaʻo nui i kēia manawa ke hana pololei a me ka maʻalahi o ka mālama.

Nā hiʻohiʻona hou e nalowale ana i ka mīkini gl kahiko:

  • Contour smoothing - hiki iā ʻoe ke mālama i nā kikoʻī maikaʻi a hoʻokō i nā contours maʻalahi.
    Ua hoʻohui ʻia nā ʻenekini hana hou no OpenGL a me Vulkan i GTK
  • Ka hoʻokumu ʻana i nā gradients arbitrary, hiki ke hoʻohana i kekahi helu o nā kala a me ka anti-aliasing (ma ka gl engine, nā laina laina laina, radial a me conical gradients me 6 mau kala kū i kākoʻo ʻia).
    Ua hoʻohui ʻia nā ʻenekini hana hou no OpenGL a me Vulkan i GTK
  • ʻO ka pālākiō fractional, kahi e hiki ai iā ʻoe ke hoʻonohonoho i nā waiwai unahi non-integer, no ka laʻana, i ka wā e hoʻohana ai i ka pālākiō o 125% no ka puka makani o 1200x800, e hāʻawi ʻia kahi buffer o 1500x1000, ʻaʻole 2400x1600 e like me ka mīkini kahiko.
  • Kākoʻo no ka ʻenehana DMA-BUF no ka hoʻohana ʻana i nā GPU he nui a me ka hoʻouka ʻana i nā hana pilikino i kekahi GPU ʻē aʻe.
  • Hoʻoponopono pololei ʻia ka nui o nā nodes i loaʻa nā pilikia i ka hoʻokō kahiko.

ʻO nā palena o nā ʻenekini hou ka nele o ke kākoʻo no ka hoʻonohonoho ʻana e nā helu helu helu ʻole (fractional position) a me nā nodes glshader, i hoʻopaʻa nui ʻia i nā hiʻohiʻona o ka mīkini kahiko, a ʻaʻole pono ia ma hope o ka hoʻohui ʻana i ke kākoʻo no nā nodes me nā maka (mask) a me nā ʻano me ka ʻike. Ua ʻōlelo ʻia hoʻi aia ka hiki ke pilikia me nā mea hoʻokele kiʻi e kū mai ana ma muli o nā loli i ke ʻano o ka hana ʻana me nā mea hoʻokele.

I ka wā e hiki mai ana, e pili ana i ke kumu hoʻohālikelike hou, ʻaʻole i haʻalele ʻia ka hana ʻana o nā mīkini hana me Metal ma macOS a me DirectX ma Windows, akā paʻakikī ka hana ʻana o ia mau mīkini e ka hoʻohana ʻana i nā ʻōlelo ʻē aʻe no nā shaders (ka "ngl Hoʻohana nā ʻenekini "a me "vulkan" i ka ʻōlelo GLSL, no laila, no Metal a me Direct, pono e hoʻokaʻawale i nā shaders a hoʻohana paha i kahi papa e pili ana i ka SPIRV-Cross toolkit).

ʻO nā hoʻolālā o ka wā e hiki mai ana ka hāʻawi ʻana i ke kākoʻo HDR a me nā mea hana no ka hoʻokele kala pololei, kākoʻo no ka hāʻawi ʻana i ke ala ma ka ʻaoʻao GPU, ka hiki ke hoʻolilo i nā glyphs, ka hoʻoheheʻe ʻana i waho, a me nā loiloi hana no nā mea kahiko a haʻahaʻa. Ma kona ʻano o kēia manawa, kokoke ka hana o ka mīkini "vulkan" i ka hana o ka mīkini "gl" kahiko. ʻOi aku ka haʻahaʻa o ka ʻenekini "ngl" ma mua o ka ʻenekini "gl" kahiko, akā lawa ka hana i loaʻa no ka hana ʻana ma 60 a i ʻole 144 FPS. Manaʻo ʻia e hoʻololi ke kūlana ma hope o ka loiloi.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka