Toolkit grafik GTK 4.14 është në dispozicion me motorë të rinj për OpenGL dhe Vulkan.

Pas pas shtatĂ« muajsh zhvillimi, u publikua lĂ«vizja e kĂ«tij toolkit-i multplatformĂ« pĂ«r krijimin e ndĂ«rfaqeve grafike — GTK 4.14.0. GTK 4 po zhvillohet nĂ« kuadĂ«r tĂ« njĂ« procesi tĂ« ri zhvillimi, i cili pĂ«rpiqet t'u ofrojĂ« zhvilluesve tĂ« aplikacioneve njĂ« API tĂ« qĂ«ndrueshĂ«m dhe tĂ« mbĂ«shtetur pĂ«r disa vjet, qĂ« mund tĂ« pĂ«rdoret pa shqetĂ«sim se çdo gjashtĂ« muaj do tĂ« duhet tĂ« rishkruajnĂ« aplikacionet pĂ«r shkak tĂ« ndryshimeve nĂ« API nĂ« degĂ«n tjetĂ«r tĂ« GTK.

Më tej, planifikohet formimi i një dege eksperimantal 4.90, në të cilën do të zhvillohet funksionaliteti për lëshimin e ardhshëm GTK5. Në degën GTK5 do të përfshihen ndryshime që prishin kompatibilitetin në nivel API, për shembull, ato që lidhen me kalimin në statusin e vjetruar për disa widget-e, si dialogu i vjetër për zgjedhjen e skedarëve. Po diskutohet gjithashtu mundësia e ndërprerjes së mbështetjes për protokollin X11 në degën GTK5 dhe lënia e mundësisë së funksionimit vetëm me përdorimin e protokollit Wayland.

Mes përmirësimeve më të dukshme në GTK 4.14:

  • NĂ« paketĂ« pĂ«rfshihen motorĂ«t e rinj tĂ« unifikuar tĂ« renderimit «ngl» dhe «vulkan», qĂ« pĂ«rdorin API-tĂ« grafike OpenGL (GL 3.3+ dhe GLES 3.0+) dhe Vulkan. TĂ« dy motorĂ«t bazohen nĂ« API Vulkan, por nĂ« motorin «ngl» pĂ«r OpenGL Ă«shtĂ« krijuar njĂ« nivel tĂ« veçantĂ« abstraksioni qĂ« punon mbi Vulkan duke u marrĂ« parasysh dallimet midis OpenGL dhe Vulkan. Ky qasje ka lejuar angazhimin e njĂ« infrastrukture tĂ« pĂ«rbashkĂ«t pĂ«r trajtimin e grafit tĂ« skenĂ«s (scene graph), transformimeve, cachimit tĂ« teksturave dhe glifĂ«ve. Unifikimi gjithashtu ka thjeshtuar ndjeshĂ«m mbĂ«shtetje e kodit tĂ« tĂ« dy motorĂ«ve dhe ruajtjen e tyre nĂ« njĂ« gjendje tĂ« pĂ«rditĂ«suar dhe tĂ« sinkronizuar.

    Ndryshe nga motori i vjetër «gl», në të cilin për çdo lloj të nyjave të renderimit (rendernode) është përdorur një shader i thjeshtë dhe është kryer një ripërkëthim i të dhënave në mënyrë të rregullt gjatë renderimit jashtë ekranit (offscreen), në motorët e rinj, në vend të renderimit jashtë ekranit aplikohet një shader kompleks (ubershader) që interpreton të dhënat nga buffer-i. Nga mundësitë e dallueshme të motorëve të rinj, përmendet anti-aliasing (lejon ruajtjen e detajeve të vogla dhe arritjen e renditjes më të lëmuar) dhe formimi i gradienteve të rastësishme (mund të përdoren çfarëdo numri ngjyrash dhe lëmuar).

  • NĂ« mĂ«nyrĂ« tĂ« paracaktuar Ă«shtĂ« aktivizuar motori i ri i renderimit «ngl», si dhe Ă«shtĂ« pĂ«rfshirĂ« pĂ«rkrahja pĂ«r API-nĂ« grafike Vulkan. NĂ« ndĂ«rtimin me konfigurim tĂ« paracaktuar tani kĂ«rkohet pĂ«rkrahja pĂ«r Vulkan 1.3.
  • NĂ« bibliotekĂ«n GSK (GTK Scene Kit), e cila ofron mundĂ«si vizatimi tĂ« skenave grafike pĂ«rmes OpenGL dhe Vulkan, janĂ« bĂ«rĂ« pĂ«rmirĂ«sime tĂ« konsiderueshme lidhur me vizatimin e fontĂ«ve, hinting dhe pĂ«rdorimin e vlerave joshkallore tĂ« shkallĂ«zimit gjatĂ« shfaqjes sĂ« tekstit. NĂ« hinting (glatimi i konturit tĂ« glifit gjatĂ« rasterizimit pĂ«r tĂ« rritur qartĂ«sinĂ« nĂ« ekranet me rezolucion tĂ« ulĂ«t) Ă«shtĂ« realizuar pozicionimi subpikselor i glifave. ËshtĂ« pĂ«rmirĂ«suar cilĂ«sia e vizatimit tĂ« fontĂ«ve me vlera joshkallore shkallĂ«zimi (pĂ«r shembull, 125%). ËshtĂ« realizuar mbĂ«shtetje pĂ«r evakuimin e elementeve nga cache pĂ«r glifat dhe teksturat. ËshtĂ« rritur efikasiteti i caching tĂ« glifave.
  • NĂ« kuadĂ«r tĂ« punĂ«s pĂ«r tĂ« shmangur pĂ«rdorimin e bibliotekĂ«s Cairo nĂ« favor tĂ« renderimit me GPU, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r «rrugĂ«t» (Path) pĂ«r renderimin e mĂ«nyrave dhe zonave, duke pĂ«rdorur njĂ« renditje vijash ose kurbave kubike dhe katrore tĂ« BĂ©zier-it. PĂ«r renderimin me rrugĂ« Ă«shtĂ« propozuar objekti GskPath, qĂ« pĂ«rcakton parametrat e vijave ose kurbave, si dhe objektet GskPathBuilder pĂ«r krijimin e kurbave, GskPathPoint pĂ«r pĂ«rcaktimin e njĂ« pike nĂ« figurĂ« dhe GskPathMeasure pĂ«r kryerjen e matjeve, si p.sh., gjatĂ«sisĂ« sĂ« konturit.
    Toolkit grafik GTK 4.14 është në dispozicion me motorë të rinj për OpenGL dhe Vulkan.
  • NĂ« bibliotekĂ«n GDK, e cila ofron njĂ« ndĂ«rfaqe midis GTK dhe sistemit grafik, Ă«shtĂ« zgjeruar mbĂ«shtetje pĂ«r mekanizmin DMA-BUF, i cili lejon pĂ«rdorimin e bufereve nĂ« nivelin e bĂ«rthamĂ«s, tĂ« adresuara pĂ«rmes njĂ« deshifruesi, duke mundĂ«suar kĂ«shtu qĂ« nĂ« vend tĂ« kopjimit tĂ« tĂ« dhĂ«nave pixel, ato tĂ« transmetohen midis nĂ«n-sistemeve tĂ« bĂ«rthamĂ«s pĂ«rmes deshifruesit. NĂ« kontekstin e GTK, DMA-BUF mund tĂ« pĂ«rdoret pĂ«r tĂ« minimizuar kopjimin e tĂ« dhĂ«nave pixel gjatĂ« procesit tĂ« kompozitimit dhe kur punoni me video (pĂ«r shembull, video mund tĂ« regjistrohet nga njĂ« dekoder hardueri nĂ« dmabuf, e mĂ« pas tĂ« bashkĂ«ngjitet nĂ« sipĂ«rfaqen Wayland dhe t'i kalojĂ« menaxherit tĂ« kompozitimit pĂ«r tĂ« mbivendosur elementĂ«t e ndĂ«rfaqes dhe pĂ«r ta shfaqur nĂ« ekran pa operacione tĂ« panevojshme tĂ« kopjimit tĂ« tĂ« dhĂ«nave).

    Për dërgimin e drejtpërdrejtë të përmbajtjes, si video, në menaxherin e kompozitimit (duke anashkaluar renderimin GSK), është shtuar widget-i GtkGraphicsOffload, dhe për krijimin e përmbajtjes për dërgim të drejtpërdrejtë është shtuar klasa GdkDmabufTextureBuilder, e cila krijon objekte GdkTexture nga dmabuf. Si burim për dmabuf mund të përdoren pipewire, video4linux ose gstreamer. Formatet e mbështetura dmabuf janë NV16, NV61, NV24, NV42 dhe YUV.

  • Shtuar klasa GtkPrintDialog, e cila Ă«shtĂ« e destinuar pĂ«r tĂ« krijuar dialogĂ« pĂ«r printimin dhe ofron njĂ« API asinkron pĂ«r pĂ«rdorim nĂ« vend tĂ« GtkPrintOperation.
  • NĂ« widgetin GtkEmojiChooser janĂ« pĂ«rditĂ«suar tĂ« dhĂ«nat Emoji dhe Ă«shtĂ« shtuar mundĂ«sia pĂ«r t'u kĂ«rkuar nĂ« gjuhĂ« tĂ« ndryshme duke marrĂ« parasysh lokale tĂ« ndryshme.
  • NĂ« widgetin GtkEntry Ă«shtĂ« pĂ«rmirĂ«suar ndjekja e ndryshimeve tĂ« bĂ«ra nga pĂ«rdoruesi (pĂ«r tĂ« realizuar operacionin e shfuqizimit).
  • NĂ« widgetin GtkFileChooser Ă«shtĂ« pĂ«rshpejtuar hapja e dialogut pĂ«r zgjedhjen e skedarĂ«ve.
  • Klasa GtkShortcutsWindow, e cila shfaq sugjerimet pĂ«r kombinimet e çelĂ«save dhe gjestet nĂ« ekran, Ă«shtĂ« adaptuar pĂ«r ekrane tĂ« vogla.
  • NĂ« modalitetin e inspektimit (GTK inspector) Ă«shtĂ« siguruar shfaqja e informacionit mbi OpenGL, nĂ«nfaqet dhe FPS.
  • NĂ« utilitarin gtk4-rendernode-tool Ă«shtĂ« shtuar komandĂ« e re «compare».
  • U propozua njĂ« utilitet i ri gtk4-path-tool pĂ«r tĂ« punuar me rrugĂ«t.
  • NĂ« utilitetin gtk4-node-editor Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ruajtjen automatike.
  • ËshtĂ« eliminuar ndalimi i papritur, i cili shfaqej gjatĂ« pĂ«rdorimit tĂ« Wayland nĂ« mjedise qĂ« nuk janĂ« tĂ« bazuara nĂ« GNOME Shell.
  • JanĂ« shtuar mjete tĂ« reja pĂ«r personat me aftĂ«si tĂ« kufizuara, tĂ« lidhura me shfaqjen e teksteve tĂ« komplikuara tĂ« formatuara, funksionimin e WebKitGTK dhe shfaqjen e njoftimeve. ËshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r specifikimet ARIA. ËshtĂ« shtuar ndĂ«rfaqja GtkAccessibleText pĂ«r tĂ« pĂ«rdorur mundĂ«sitĂ« e aksesit nĂ« widget-et e tjera tekstuale. NĂ« ndĂ«rfaqen GtkText Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r protokollin AT-SPI pĂ«r ndĂ«rveprimin me lexuesit e ekranit.
  • ËshtĂ« shtuar mundĂ«sia e renderimit me ndihmĂ«n e GPU, duke pĂ«rdorur API-nĂ« WGL nĂ« platformĂ«n Windows.
  • ËshtĂ« reduktuar konsumimi i memories gjatĂ« ngarkimit tĂ« temave tĂ« stilizimit nĂ« bazĂ« CSS.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster