Emva kweenyanga ezisixhenxe zophuhliso, ukukhutshwa kwezixhobo ezininzi zeplatform zokudala i-graphical interface yomsebenzisi kupapashwe - GTK 4.14.0. I-GTK 4 iphuhliswa njengenxalenye yenkqubo entsha yophuhliso ezama ukubonelela abaphuhlisi bezicelo nge-API ezinzileyo nexhaswayo iminyaka eliqela enokuthi isetyenziswe ngaphandle koloyiko lokuphinda ubhale izicelo rhoqo emva kweenyanga ezintandathu ngenxa yotshintsho lwe-API kwi-GTK elandelayo. isebe.
Kwixesha elizayo, kucetywa ukwenza isebe lovavanyo 4.90, eliya kuphuhlisa umsebenzi wokukhutshwa kwe-GTK5 kwixesha elizayo. Isebe le-GTK5 liya kubandakanya iinguqu eziphula ukuhambelana kwinqanaba le-API, umzekelo, ezinxulumene nokuthotywa kwewijethi ezithile, ezifana nencoko yababini yokukhetha ifayile endala. Ukuba nokwenzeka kokuphelisa inkxaso yomthetho we-X5 kwisebe le-GTK11 kunye nokushiya ukukwazi ukusebenza kuphela usebenzisa i-protocol yase-Wayland kuyaxoxwa ngayo.
Olunye uphuculo oluphawulekayo kwi-GTK 4.14 lubandakanya:
- Iquka iinjini ezintsha ezidityanisiweyo "ngl" kunye ne "vulkan" usebenzisa i-OpenGL (i-GL 3.3+ kunye ne-GLES 3.0+) kunye nee-API zemizobo ye-Vulkan. Zombini ii-injini zisekwe kwi-Vulkan API, kodwa i-injini ye-“ngl” inomaleko wokutsalwa owahlukileyo we-OpenGL ohamba phezu kwe-Vulkan, ethathela ingqalelo umahluko phakathi kwe-OpenGL kunye ne-Vulkan. Le ndlela yenza ukuba kube lula ukusebenzisa isiseko esiqhelekileyo kuzo zombini iinjini zokucubungula igrafu yesiganeko, ukuguqulwa, ukuthungwa kwe-caching kunye neeglyphs. Ukumanyana kwakhona kwenza lula kakhulu ukugcinwa kwesiseko sekhowudi yazo zombini iinjini kunye nokuzigcina zisexesheni kwaye zilungelelaniswe.
Ngokungafaniyo ne-injini endala ye-gl, eyayisebenzisa i-shader elula eyahlukileyo kuhlobo ngalunye lwe-node yonikezelo kwaye ngamaxesha athile ihlelwe ngokutsha idatha ngexesha lonikezelo olungaphandle kwesikrini, ii-injini ezintsha endaweni yonikezelo lwe-offscreen zisebenzisa i-shader entsonkothileyo (ubershader) etolika idatha kwi-buffer. . Phakathi kweempawu ezahlukileyo zeenjini ezintsha, ukuguquguquka kwe-contour kukhankanyiwe (kukuvumela ukuba ugcine iinkcukacha ezintle kwaye ufezekise umzobo we-contours ezigudileyo), ukwakheka kwee-gradients ezingaqondakaliyo (naliphi na inani lemibala kunye ne-anti-aliasing ingasetyenziswa) kunye nokulinganisa i-fractional scaling.
- Injini entsha yonikezelo "ngl" yenziwe ngokungagqibekanga, kwaye inkxaso ye-API yemizobo ye-Vulkan nayo yenziwe ngokungagqibekanga. Xa usakha kuqwalaselo olungagqibekanga, inkxaso yeVulkan 1.3 iyafuneka ngoku.
- Ithala leencwadi le-GSK (i-GTK Scene Kit), elibonelela ngesakhono sokwenza imifanekiso eqingqiweyo nge-OpenGL neVulkan, lenze uphuculo olubalulekileyo olunxulumene nonikezelo lwefonti, ihinting, kunye nokusetyenziswa kwamaxabiso angengawo apheleleyo xa ubonisa umbhalo. Xa i-hinting (ukugudisa ulwandlalo lweglyph ngexesha le-rasterization ukuze kwandiswe ukucaca kwizikrini ezinesombululo esisezantsi), i-subpixel yokubeka iiglyphs iphunyeziwe. Umgangatho wonikezelo lwefonti uphuculwe kumaxabiso angengawo apheleleyo (umzekelo, 125%). Ukuphunyezwa kwenkxaso yokukhutshwa kwezinto ezivela kwi-cache ye-glyphs kunye nokuthungwa. Ukuphuculwa kokusebenza kakuhle kweglyph caching.
- Njengenxalenye yokushenxa ekusebenziseni ilayibrari yaseCairo ngokuthanda unikezelo lweGPU, inkxaso ye "Iindlela" yongezwe kwimilo yokuzoba kunye neendawo kusetyenziswa ulandelelwano lwemigca okanye cubic kunye nequadratic Bezier curves. Ukuzoba ngeendlela, kukho into yeGskPath echaza iiparamitha zemigca okanye iigophe, kunye nezinto zeGskPathBuilder ekudaleni iigophe, iGskPathPoint yokuchaza inqaku kumfanekiso, kunye neGskPathMeasure yokuthatha imilinganiselo efana nobude bendlela.

- Ithala leencwadi le-GDK, elibonelela umaleko phakathi kwe-GTK kunye nenkqubo engaphantsi kwemizobo, iye yandisa inkxaso yenkqubo ye-DMA-BUF, evumela ukusetyenziswa kwezithinteli ze-kernel-level-level buffers usebenzisa i-descriptor, eyenza ukuba kwenzeke, endaweni yokukopa idatha ye-pixel, ukuzigqithisa phakathi kwe-kernel subsystems ngaphaya kwe-descriptor. Kumxholo we-GTK, i-DMA-BUF ingasetyenziselwa ukunciphisa ukukopishwa kwedatha ye-pixel ngexesha lokudibanisa naxa usebenza ngevidiyo (umzekelo, ividiyo inorekhodwa nge-hardware decoder kwi-dmabuf, emva koko iqhotyoshelwe kumphezulu we-Wayland kwaye idluliselwe ukudibanisa umphathi we-UI kunye nemveliso edibanisa isikrini ngaphandle kokukhuphela okungeyomfuneko kwedatha yokusebenza).
Iwijethi ye-GtkGraphicsOffload yongezwe ukuthumela ngokuthe ngqo umxholo onjengevidiyo kumphathi odibeneyo (udlula i-GSK unikezelo), kwaye iklasi ye-GdkDmabufTextureBuilder yongezwe ukudala izinto ze-GdkTexture ukusuka kwi-dmabuf ukudala umxholo wokudluliselwa ngokuthe ngqo. I-Pipewire, i-video4linux okanye i-gstreamer ingasetyenziswa njengomthombo we-dmabuf. Iifomathi ze-dmabuf NV16, NV61, NV24, NV42 kunye neYUV ziyaxhaswa.
- Yongeza iklasi yeGtkPrintDialog, eyilelwe ukuvelisa iingxoxo zoshicilelo kunye nokubonelela nge-API engahambelaniyo ukuze isetyenziswe endaweni yeGtkPrintOperation.
- Iwijethi yeGtkEmojiChooser ihlaziye idatha ye-Emoji kwaye yongeza amandla okukhangela ngeelwimi ezahlukeneyo, kuthathelwa ingqalelo iindawo ezahlukeneyo.
- Iwijethi yeGtkEntry iphucule umkhondo wotshintsho olwenziwe ngumsebenzisi (ukuphumeza umsebenzi wokuhlenga).
- Kwiwijethi yeGtkFileChooser, ukuvulwa kwencoko yababini yokukhetha ifayile kuye kwakhawuleziswa.
- Iklasi ye-GtkShortcutsWindow, ebonisa iincam zesixhobo kwiindlela ezimfutshane zebhodi yezitshixo kunye nentshukumo yesikrini, ilungiselelwe izikrini ezincinci.
- Imo yokuhlola (umhloli we-GTK) ubonelela ngokubonisa ulwazi malunga ne-OpenGL, i-subsurfaces kunye ne-FPS.
- Kongezwe "thelekisa" umyalelo kwi-gtk4-rendernode-isixhobo esiluncedo.
- Isixhobo esitsha, i-gtk4-path-isixhobo, iye yacetywa ukuze kusetyenzwe ngeendlela.
- Inkxaso yokurekhoda ngokuzenzekela yongezwe kwinto eluncedo yomhleli we-gtk4-node.
- Kulungiswe ingozi eyenzeke xa kusetyenziswa i-Wayland kwindawo engeyiyo ye-GNOME Shell-based based.
- Izinto ezintsha zongezwa kubantu abakhubazekileyo ezinxulumene nokuboniswa kombhalo ofomathiweyo onzima, ukusebenza kweWebKitGTK kunye nokuboniswa kwezaziso. Inkxaso ephuculweyo yeenkcazo zeARIA. Kongezwe i-GtkAccessibleText interface yokusebenzisa iimpawu zofikelelo kwiiwijethi zombhalo womntu wesithathu. I-interface ye-GtkText yongeze inkxaso ye-AT-SPI protocol yokunxibelelana nabafundi besikrini.
- Yongeza amandla okubonisa usebenzisa iGPU usebenzisa i-WGL API eqongeni Windows.
- Ukunciphisa ukusetyenziswa kwememori xa kulayishwa imixholo esekwe kwi-CSS.
umthombo: opennet.ru

