Mesin rendering anyar kanggo OpenGL lan Vulkan wis ditambahake menyang GTK

Pangembang perpustakaan GTK ngumumake kasedhiyan rong mesin rendering anyar - "ngl" lan "vulkan", nggunakake OpenGL (GL 3.3+ lan GLES 3.0+) lan API grafis Vulkan. Mesin anyar kalebu ing release eksperimen GTK 4.13.6. Ing cabang GTK eksperimen, engine ngl saiki digunakake minangka standar, nanging yen masalah pinunjul dikenali ing cabang stabil sabanjuré 4.14, lawas "gl" Rendering engine bakal dibalèkaké.

Mesin anyar dipanggonke minangka manunggal lan dirakit saka basis kode siji. Inti saka panyatuan kasebut yaiku API Vulkan digunakake minangka basis, ing ndhuwur level abstraksi sing kapisah wis digawe kanggo OpenGL, kanthi nimbang bedane antarane OpenGL lan Vulkan. Pendekatan iki ngidini sampeyan nggunakake infrastruktur umum ing mesin loro kanggo ngolah grafik pemandangan, transformasi, tekstur caching lan glyph. Unifikasi uga nyederhanakake pangopènan basis kode loro mesin lan tetep anyar lan disinkronake.

Ora kaya mesin gl lawas, sing nggunakake shader prasaja sing kapisah kanggo saben jinis simpul render lan ngurutake data kanthi periodik sajrone rendering layar, mesin anyar tinimbang rendering layar nggunakake shader kompleks (ubershader) sing nerangake data saka buffer. . Ing wangun saiki, implementasine anyar isih lags konco lawas ing syarat-syarat tingkat optimizations, wiwit fokus utama ing tataran saiki ing operasi bener lan ease saka pangopènan.

Fitur anyar sing ilang ing mesin gl lawas:

  • Contour smoothing - ngidini sampeyan njaga rincian sing apik lan entuk kontur sing luwih alus.
    Mesin rendering anyar kanggo OpenGL lan Vulkan wis ditambahake menyang GTK
  • Pembentukan gradien kasepakatan, sing bisa nggunakake macem-macem warna lan anti-aliasing (ing mesin gl, mung gradien linier, radial lan conical kanthi 6 warna mandeg sing didhukung).
    Mesin rendering anyar kanggo OpenGL lan Vulkan wis ditambahake menyang GTK
  • Skala pecahan, sing ngidini sampeyan nyetel nilai skala non-integer, contone, nalika nggunakake skala 125% kanggo jendhela 1200x800, buffer 1500x1000 bakal diparengake, lan ora 2400x1600 kaya ing mesin lawas.
  • Dhukungan kanggo teknologi DMA-BUF kanggo nggunakake macem-macem GPUs lan offloading operasi individu kanggo GPU liyane.
  • Akeh simpul rendering sing duwe masalah ing implementasine lawas diproses kanthi bener.

Watesan mesin anyar kalebu kekurangan dhukungan kanggo posisi kanthi nilai non-integer (posisi pecahan) lan simpul glshader, sing akeh diikat karo fitur mesin lawas, lan ora perlu maneh sawise nambah dhukungan kanggo simpul kanthi topeng (topeng) lan tekstur kanthi transparan. Disebutake uga ana kemungkinan masalah karo driver grafis amarga owah-owahan ing cara nggarap driver.

Ing mangsa ngarep, adhedhasar model gabungan sing anyar, nggawe mesin rendering nggunakake Metal ing macOS lan DirectX ing Windows ora dikecualekake, nanging nggawe mesin kasebut rumit kanthi nggunakake basa liya kanggo shaders (ing "ngl "Lan" mesin "vulkan" nggunakake basa GLSL, supaya kanggo Metal lan Direct kudu salah siji duplikat shaders utawa nggunakake lapisan adhedhasar toolkit SPIRV-Cross).

Rencana ing mangsa ngarep kalebu nyediakake dhukungan HDR lan alat kanggo manajemen warna sing bener, dhukungan kanggo rendering Path ing sisih GPU, kemampuan kanggo nerjemahake glyphs, rendering off-stream, lan optimasi kinerja kanggo piranti lawas lan kurang daya. Ing wangun saiki, kinerja mesin "vulkan" cedhak karo kinerja mesin "gl" lawas. Mesin "ngl" luwih murah tinimbang mesin "gl" lawas, nanging kinerja sing kasedhiya cukup kanggo menehi 60 utawa 144 FPS. Dikarepake yen kahanan bakal ganti sawise optimasi.

Source: opennet.ru

Add a comment