Lienjineri tse ncha tsa ho fana ka OpenGL le Vulkan li kentsoe ho GTK

Baetsi ba laebrari ea GTK ba phatlalalitse boteng ba lienjineri tse peli tse ncha tsa phetolelo - "ngl" le "vulkan", ba sebelisa OpenGL (GL 3.3+ le GLES 3.0+) le Vulkan graphics APIs. Lienjine tse ncha li kenyellelitsoe tokollong ea liteko ea GTK 4.13.6. Lefapheng la liteko la GTK, enjene ea ngl e se e sebelisoa ka ho sa feleng, empa haeba mathata a bohlokoa a tsejoa lekaleng le latelang le tsitsitseng la 4.14, mochine oa khale oa ho fana ka "gl" o tla khutlisoa.

Lienjineri tse ncha li behiloe e le tse kopaneng 'me li kopantsoe ho tsoa motheong o le mong oa khoutu. Moko oa kopano ke hore Vulkan API e sebelisoa e le motheo, ka holim'a eona ho theiloe boemo bo arohaneng ba OpenGL, ho nahanoa ka phapang pakeng tsa OpenGL le Vulkan. Mokhoa ona o entse hore ho khonehe ho sebelisa lisebelisoa tse tloaelehileng lienjineng ka bobeli bakeng sa ho sebetsana le graph ea liketsahalo, liphetoho, li-caching textures le li-glyphs. Ho kopanya ho boetse ho nolofalitse tlhokomelo ea motheo oa khoutu ea lienjineri ka bobeli le ho li boloka li le nakong ebile li hokahantsoe.

Ho fapana le enjene ea khale ea gl, e neng e sebelisa shader e arohaneng bakeng sa mofuta o mong le o mong oa node mme nako le nako e hlophisa data hape nakong ea ho fana ka kantle ho skrini, lienjineri tse ncha ho fapana le ho fana ka kantle ho skrine li sebelisa shader e rarahaneng (ubershader) e fetolelang data ho tsoa ho buffer. . Ka sebopeho sa eona sa hajoale, ts'ebetsong e ncha e ntse e salletse ka morao ho ea khale ho latela boemo ba ntlafatso, kaha sepheo se seholo sethaleng sa hajoale ke ts'ebetso e nepahetseng le boiketlo ba tlhokomelo.

Likarolo tse ncha tse sieo enjeneng ea khale ea gl:

  • Contour smoothing - e u lumella ho boloka lintlha tse ntle le ho fihlela li-contours tse bonolo.
    Lienjineri tse ncha tsa ho fana ka OpenGL le Vulkan li kentsoe ho GTK
  • Ho thehoa ha li-gradients tse ikemetseng, tse ka sebelisang palo leha e le efe ea mebala le li-anti-aliasing (ka har'a enjene ea gl, ho ne ho tšehetsoa li-gradients tse nang le linear, radial le conical tse nang le mebala e 6 ea ho emisa).
    Lienjineri tse ncha tsa ho fana ka OpenGL le Vulkan li kentsoe ho GTK
  • Sekhahla sa fractional, se u lumellang hore u behe litekanyetso tse se nang palo, ka mohlala, ha u sebelisa tekanyo ea 125% bakeng sa fensetere ea 1200x800, ho tla fanoa ka buffer ea 1500x1000, eseng 2400x1600 joaloka enjene ea khale.
  • Ts'ehetso bakeng sa theknoloji ea DMA-BUF bakeng sa ho sebelisa li-GPU tse ngata le ho theola ts'ebetso ea motho ka mong ho GPU e 'ngoe.
  • Li-node tse ngata tse neng li e-na le mathata ts'ebetsong ea khale li sebetsoa ka nepo.

Mefokolo ea lienjineri tse ncha li kenyelletsa khaello ea ts'ehetso ea ho beoa ka boleng bo sa kopaneng (boemo ba fractional) le li-node tsa glshader, tse neng li hokahane haholo le likarolo tsa enjene ea khale, tse neng li se li sa hlokahale kamora ho eketsa tšehetso bakeng sa li-node tse nang le limaske (mask) le litlolo tse nang le ponaletso. Ho boetse ho boleloa hore ho na le monyetla oa hore ho be le mathata a ka hlahang ka bakhanni ba litšoantšo ka lebaka la liphetoho tsa mokhoa oa ho sebetsa le bakhanni.

Nakong e tlang, ho ipapisitsoe le mofuta o mocha o kopaneng, tlhahiso ea lienjineri tse sebelisang Metal ho macOS le DirectX ho Windows ha e qheleloe ka thoko, empa ho etsoa ha lienjineri tse joalo ho thatafatsoa ke ts'ebeliso ea lipuo tse ling bakeng sa shaders ("ngl" ” le lienjine tsa “vulkan” li sebelisa puo ea GLSL, kahoo bakeng sa Metal le Direct li tla tlameha ho etsa likopi tsa shader kapa li sebelise lera le ipapisitseng le SPIRV-Cross toolkit).

Merero ea kamoso e kenyelletsa ho fana ka tšehetso ea HDR le lisebelisoa bakeng sa taolo e nepahetseng ea mebala, ts'ehetso bakeng sa phepelo ea Tsela ka lehlakoreng la GPU, bokhoni ba ho fana ka li-glyphs, ho fana ka li-off-stream, le ho ntlafatsa ts'ebetso bakeng sa lisebelisoa tsa khale le tse tlase. Ka sebopeho sa eona sa hajoale, ts'ebetso ea enjene ea "vulkan" e haufi le ts'ebetso ea enjene ea khale ea "gl". Enjene ea "ngl" e tlase ho ts'ebetso ho enjene ea khale ea "gl", empa ts'ebetso e teng e lekane ho fana ka 60 kapa 144 FPS. Ho lebeletsoe hore boemo bo tla fetoha ka mor'a ho ntlafatsa.

Source: opennet.ru

Eketsa ka tlhaloso