НаличСн Π΅ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ Ρ‚ΡƒΠ»ΠΊΠΈΡ‚ GTK 4.14 с Π½ΠΎΠ²ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° OpenGL ΠΈ Vulkan

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ сСдСм мСсСца, Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° вСрсия 4.14.0 Π½Π° многоплатформСния Ρ‚ΡƒΠ»ΠΊΠΈΡ‚ Π·Π° създаванС Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ потрСбитСлски интСрфСйси β€” GTK. GTK 4 сС Ρ€Π°Π·Π²ΠΈΠ²Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π½ΠΎΠ² процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ сС стрСми Π΄Π° прСдостави Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ прилоТСния стабилСн ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ Π² ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ API, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½, Π±Π΅Π· Π΄Π° сС притСсняват, Ρ‡Π΅ всяко ΠΏΠΎΠ»ΡƒΠ³ΠΎΠ΄ΠΈΠ΅ Ρ‰Π΅ трябва Π΄Π° ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ прилоТСнията си ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² API Π² слСдващата вСрсия Π½Π° GTK.

Π’ ΠΏΠΎ-ΠΊΡŠΡΠ½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° бъдС създадСна СкспСримСнтална вСрсия 4.90, Π² която Ρ‰Π΅ сС Ρ€Π°Π·Π²ΠΈΠ²Π° функционалността Π·Π° Π±ΡŠΠ΄Π΅Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ GTK5. Π’ вСрсия GTK5 Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Ρ‚ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ API, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° някои стари Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ стария Π΄ΠΈΠ°Π»ΠΎΠ³ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС обсъТда Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π² вСрсия GTK5 Π΄Π° сС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° X11 ΠΈ Π΄Π° сС остави Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° само с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland.

Π‘Ρ€Π΅Π΄ Π½Π°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ подобрСния Π² GTK 4.14:

  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ Π΅Π½Π΄ΠΆΠΈΠ½ΠΈ β€žnglβ€œ ΠΈ β€žvulkanβ€œ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈΡ‚Π΅ API OpenGL (GL 3.3+ ΠΈ GLES 3.0+) ΠΈ Vulkan. И Π΄Π²Π°Ρ‚Π° Π΅Π½Π΄ΠΆΠΈΠ½Π° са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° API Vulkan, Π½ΠΎ Π² Π΅Π½Π΄ΠΆΠΈΠ½ β€žnglβ€œ Π·Π° OpenGL Π΅ създадСн ΠΎΡ‚Π΄Π΅Π»Π΅Π½ абстрактСн слой, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π½Π°Π΄ Vulkan, с ΠΎΠ³Π»Π΅Π΄ Π½Π° различията ΠΌΠ΅ΠΆΠ΄Ρƒ OpenGL ΠΈ Vulkan. Вакъв ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Ρ‰Π° инфраструктура Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π°Ρ„Π° Π½Π° сцСната, трансформации, ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° тСкстури ΠΈ Π³Π»ΠΈΡ„ΠΎΠ²Π΅. Унификацията ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ улСсни ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° Π΄Π²Π°Ρ‚Π° Π΅Π½Π΄ΠΆΠΈΠ½Π° ΠΈ тяхното Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² синхронизирано ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

    Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стария Π΅Π½Π΄ΠΆΠΈΠ½ β€žglβ€œ, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Π·Π° всСки Ρ‚ΠΈΠΏ възСл Π·Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ (rendernode) сС използвашС ΠΎΡ‚Π΄Π΅Π»Π΅Π½ прост ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΡˆΠ΅ прСорганизация Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ извън Π΅ΠΊΡ€Π°Π½Π° (offscreen), Π² Π½ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π½Π΄ΠΆΠΈΠ½ΠΈ вмСсто ΠΈΠ·Π²ΡŠΠ½Π΅ΠΊΡ€Π°Π½Π΅Π½ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° слоТСн ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ (ubershader), ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π±ΡƒΡ„Π΅Ρ€Π°. Π‘Ρ€Π΅Π΄ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π½Π΄ΠΆΠΈΠ½ΠΈ сС спомСнава антивизуализация Π½Π° ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈΡ‚Π΅ (позволяваща Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈΡ‚Π΅ Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ ΠΈ постиганС Π½Π° ΠΏΠΎ-Π³Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈ), създаванС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ΠΈ (ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅ ΠΈ сглаТданС) ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅.

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ новият Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» β€žnglβ€œ, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° графичния API Vulkan. ΠŸΡ€ΠΈ компилация с конфигурация ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сСга Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° Vulkan 1.3.
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° GSK (GTK Scene Kit), която прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ сцСни Ρ‡Ρ€Π΅Π· OpenGL ΠΈ Vulkan, са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ подобрСния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅, Ρ…ΠΈΠ½Ρ‚ΠΈΠ½Π³ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° нСцСлочислСни стойности Π½Π° ΠΌΠ°Ρ‰Π°Π±Π° ΠΏΡ€ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° тСкст. ΠŸΡ€ΠΈ Ρ…ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° (Π³Π»Π°Π΄Π΅Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈΡ‚Π΅ Π½Π° Π³Π»ΠΈΡ„Π° ΠΏΡ€ΠΈ растриризация Π·Π° повишаванС Π½Π° яснотата Π½Π° Π΅ΠΊΡ€Π°Π½ΠΈ с ниска Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ) Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ субпиксСлово ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Π»ΠΈΡ„ΠΎΠ²Π΅Ρ‚Π΅. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ Π΅ качСството Π½Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²Π΅ ΠΏΡ€ΠΈ нСцСлочислСни стойности Π½Π° ΠΌΠ°Ρ‰Π°Π±Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 125%). Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° измСстванС Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΊΠ΅ΡˆΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Π³Π»ΠΈΡ„ΠΎΠ²Π΅ ΠΈ тСкстури. ПовишСна Π΅ СфСктивността Π½Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Π»ΠΈΡ„ΠΎΠ²Π΅.
  • Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° усилията Π·Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Cairo Π² ΠΏΠΎΠ»Π·Π° Π½Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· GPU Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° β€žΠΏΡŠΡ‚ΠΈΡ‰Π°β€œ (Path) Π·Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„ΠΈΠ³ΡƒΡ€ΠΈ ΠΈ области, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ послСдоватСлност ΠΎΡ‚ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΡƒΠ±ΠΈΡ‡Π½ΠΈ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΊΡ€ΠΈΠ²ΠΈ Π‘Π΅Π·ΠΈΠ΅. Π—Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡŠΡ‚ΠΈΡ‰Π° Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ‚ GskPath, ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π»ΠΈΠ½ΠΈΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΊΡ€ΠΈΠ²ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ GskPathBuilder Π·Π° създаванС Π½Π° ΠΊΡ€ΠΈΠ²ΠΈ, GskPathPoint Π·Π° опрСдСлянС Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚Π° ΠΈ GskPathMeasure Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° измСрвания, ΠΊΠ°Ρ‚ΠΎ дълТина Π½Π° ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°.
    НаличСн Π΅ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ Ρ‚ΡƒΠ»ΠΊΠΈΡ‚ GTK 4.14 с Π½ΠΎΠ²ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° OpenGL ΠΈ Vulkan
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° GDK, която прСдоставя прослойка ΠΌΠ΅ΠΆΠ΄Ρƒ GTK ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½Π°Ρ‚Π° подсистСма, Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° DMA-BUF, позволяващ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΡƒΡ„Π΅Ρ€ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ядро, адрСсирани с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° дСскриптор, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ вмСсто ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° пиксСлови Π΄Π°Π½Π½ΠΈ Π΄Π° сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ подсистСмитС Π½Π° ядрото Ρ‡Ρ€Π΅Π· дСскриптор. Π’ контСкста Π½Π° GTK DMA-BUF ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° пиксСлови Π΄Π°Π½Π½ΠΈ Π² процСса Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π²ΠΈΠ΄Π΅ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС записано ΠΎΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π΅Π½ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ Π² dmabuf, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° бъдС ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ΅Π½ΠΎ към ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚ Π½Π° Wayland ΠΈ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° композиращия ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π·Π° наслагванС Π½Π° интСрфСйсни Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅ΠΊΡ€Π°Π½Π° Π±Π΅Π· излишни ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ).

    Π—Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΊΠ°Ρ‚ΠΎ Π²ΠΈΠ΄Π΅ΠΎ, Π½Π° композитния ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ (заобикаляйки Ρ€Π΅Π½Π΄Π΅Ρ€ GSK) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ GtkGraphicsOffload, Π° Π·Π° създаванС Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½Π° трансмисия Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ клас GdkDmabufTextureBuilder, ΠΊΠΎΠΉΡ‚ΠΎ създава ΠΎΠ±Π΅ΠΊΡ‚ΠΈ GdkTexture ΠΎΡ‚ dmabuf. Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ Π·Π° dmabuf ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ pipewire, video4linux ΠΈΠ»ΠΈ gstreamer. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ dmabuf NV16, NV61, NV24, NV42 ΠΈ YUV.

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ клас GtkPrintDialog, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ·ΠΈ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰ асинхронСн API Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ вмСсто GtkPrintOperation.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° GtkEmojiChooser са ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Emoji ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ, с ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° GtkEntry Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ прослСдяванСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΎΡ‚ потрСбитСля (Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° опСрация undo).
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° GtkFileChooser Π΅ ускорСно отварянСто Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • ΠšΠ»Π°ΡΡŠΡ‚ GtkShortcutsWindow, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° подсказки Π·Π° клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈ ТСстовС Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΡ€Π°Π½ΠΈ.
  • Π’ Ρ€Π΅ΠΆΠΈΠΌ инспСктиранС (GTK inspector) Π΅ осигурСно ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° информация Π·Π° OpenGL, ΠΏΠΎΠ΄ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚ΠΈ ΠΈ FPS.
  • Към ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° gtk4-rendernode-tool Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° 'compare'.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° gtk4-path-tool Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡŠΡ‚ΠΈΡ‰Π°.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° gtk4-node-editor Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ записванС.
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΈΡ‚Π΅ прСкратявания, проявяващи сС ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Wayland Π² срСди, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° GNOME Shell, Π΅ отстранСн.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ срСдства Π·Π° Ρ…ΠΎΡ€Π° с уврСТдания, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° слоТСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ тСкст, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с WebKitGTK ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° извСстия. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° спСцификации ARIA. Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ интСрфСйс GtkAccessibleText Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ Π² външни тСкстови Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΈ. Π’ интСрфСйса GtkText Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° AT-SPI ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° взаимодСйствиС с Π΅ΠΊΡ€Π°Π½Π½ΠΈ Ρ‡Π΅Ρ‚Ρ†ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ€Π°Π½Π΅ с GPU, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ API WGL Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows.
  • НамалСно Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΏΡ€ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚Π΅ΠΌΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° CSS.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster