GTK raamatukogu arendajad teatasid kahe uue renderdamismootori - «ngl» ja «vulkan» - valmimisest, mis kasutavad graafikate API-sid OpenGL (GL 3.3+ ja GLES 3.0+) ja Vulkan. Uued mootorsüsteemid on osa GTK katseversioonist 4.13.6. GTK katseharu sees on mootori ngl vaikimisi kasutusel, kuid kui järgmises stabiilses versioonis 4.14 ilmnevad tõsised probleemid, nareturnitakse vana renderdamismootor «gl».
Uued mootorsüsteemid positsioneeritakse ühtse ja ühisest koodibaasist koostatud lahendusena. Ühtsuse olemus seisneb selles, et aluseks on olemas API Vulkan, millele on OpenGL jaoks loodud eraldi abstraktsioonitasand, arvestades OpenGL ja Vulkan erinevusi. Selline lähenemine võimaldas kasutada mõlemas mootorsüsteemis ühist infrastruktuuri stseenigraafi (scene graph), transformatsioonide, tekstuuride ja glüüfide vahemälu töötlemiseks. Ühtsus lihtsustas ka oluliselt mõlema mootorsüsteemi koodibaasi hooldamist ning nende värskendamise ja sünkroniseerimise protsessi.
Erinevalt vanast «gl» mootorist, kus iga renderdamise sõlme (rendernode) jaoks kasutati eraldi lihtsat varjutajat ja andmete perioodilist ümberjärjestamist taustrenderdamise (offscreen) käigus, kasutatakse uutest mootoritest taustrenderdamise asemel keerulist varjutajat (ubershader), mis tõlgendab andmeid vahemälust. Praeguses seisus jääb uus lahendus siiski vanast maha optimeerimise tasemelt, kuna praegusel etapil keskendutakse peamiselt töö korrektsusele ja hoolduse lihtsusele.
Uued võimalused, mida vanas «gl» mootoris ei olnud:
- Kontuuride pehmendamine — võimaldab säilitada väikeseid detaile ja saavutada sujuvamaid kontuure.

- Meelerahu gradiente, kus saab kasutada suvalist arvu värve ja pehmendust (vanas «gl» mootoris toetati vaid lineaarseid, raadiuseid ja koonuslikke gradiente kuni 6 värvipunktiga).

- Murdepunktiline skalaar (fractional scale), mis võimaldab määrata mitte-täisarve skaalaväärtusi; näiteks, kui kasutada 125% skaalat 1200×800 akna jaoks, eraldatakse vahemälu 1500×1000, mitte 2400×1600 nagu vanas mootoris.
- DMA-BUF tehnoloogia toetus mitme GPU kasutamiseks ja individuaalsete operatsioonide edastamiseks teisele GPU-le.
- Paljusid renderdamise sõlmi töödeldakse korralikult, mis olid probleemsed vana teostuse puhul.
Uute mootorite piiranguteks on märkamatute väärtuste (fractional position) positsioneerimise toe puudumine ja glshader sõlmede olemasolu, mis olid tugevalt seotud vana mootori eripäradega ning mille vajadus kadus pärast maskiga sõlmede ja läbipaistvusega tekstuuride toe lisamist. Samuti mainitakse, et on olemas tõenäosus, et graafika draiveritega võivad esineda võimalikke probleeme seoses draiveritega töötamise meetodi muutumisega.
Tulevikus ei välistata uute ühtsustatud mudelite baasil renderdamise mootorite loomist, mis kasutavad macOS-is Metalit ja Windowsis DirectX-i, kuid selliste mootorite loomist takistab muude keel(e)de kasutamine shaderite jaoks (mootorites «ngl» ja «vulkan» kasutatakse GLSLi keelt, seega Metalile ja Directile tuleb kas shaderid dubleerida või kasutada SPIRV-Cross tööriistakomplekti baasil kihti).
Tulevikusuunisteidena mainitakse HDR-i toe ja värvihalduse tööriistade tagamist, GPU külgpõhise renderimise võimalust, glüütide renderimist, taustavoogude renderimist ja jõudluse optimeerimist vanade ja madala võimsusega seadmete jaoks. Praeguses vormis on "vulkan" mootori jõudlus lähedane vana "gl" mootori jõudlusele. "ngl" mootor jääb jõudluses maha vanast "gl" mootorist, kuid olemasolevad näitajad on piisavad 60 või 144 FPS-i renderimiseks. Oodatakse, et olukord muutub pärast optimeerimise läbiviimist.
Allikas: opennet.ru

