4.14.0κ°μ κ°μ κ°λ° λμ κ·Έλν½ μ¬μ©μ μΈν°νμ΄μ€ μμ±μ μν λ€μ€ νλ«νΌ ν΄ν·μΈ GTK 4μ΄ μΆμλμμ΅λλ€. GTK XNUMXλ λ€μ GTKμ API λ³κ²½μΌλ‘ μΈν΄ XNUMXκ°μλ§λ€ μ ν리μΌμ΄μ μ λ€μ μμ±ν΄μΌ νλ κ±±μ μμ΄ μ¬μ©ν μ μλ μμ μ μ΄κ³ μ§μλλ APIλ₯Ό μ ν리μΌμ΄μ κ°λ°μμκ² μλ λμ μ 곡νλ €λ μλ‘μ΄ κ°λ° νλ‘μΈμ€μ μΌλΆλ‘ κ°λ°λκ³ μμ΅λλ€. λλκ°μ§.
μμΌλ‘ GTK4.90μ ν₯ν 릴리μ€λ₯Ό μν κΈ°λ₯μ κ°λ°ν μ€νμ μΈ λΈλμΉ 5μ ꡬμ±ν κ³νμ λλ€. GTK5 λΈλμΉμλ API μμ€μ νΈνμ±μ μλ°νλ λ³κ²½ μ¬νμ΄ ν¬ν¨λ©λλ€. μλ₯Ό λ€μ΄ μ΄μ νμΌ μ ν λν μμμ κ°μ μΌλΆ μμ ―μ μ§μ μ€λ¨κ³Ό κ΄λ ¨λ©λλ€. GTK5 λΈλμΉμμ X11 νλ‘ν μ½μ λν μ§μμ μ’ λ£νκ³ Wayland νλ‘ν μ½μ ν΅ν΄μλ§ μλνλ κΈ°λ₯μ λ λ κ°λ₯μ±λ λ Όμλκ³ μμ΅λλ€.
GTK 4.14μ κ°μ₯ μ£Όλͺ©ν λ§ν κ°μ μ¬νμ λ€μκ³Ό κ°μ΅λλ€.
- μ¬κΈ°μλ OpenGL(GL 3.3+ λ° GLES 3.0+) λ° Vulkan κ·Έλν½ APIλ₯Ό μ¬μ©νλ μλ‘μ΄ ν΅ν© λ λλ§ μμ§ "ngl" λ° "vulkan"μ΄ ν¬ν¨λμ΄ μμ΅λλ€. λ μμ§ λͺ¨λ Vulkan APIλ₯Ό κΈ°λ°μΌλ‘ νμ§λ§ "ngl" μμ§μλ OpenGLκ³Ό Vulkanμ μ°¨μ΄μ μ κ³ λ €νμ¬ Vulkan μμμ μ€νλλ OpenGLμ λν λ³λμ μΆμν κ³μΈ΅μ΄ μμ΅λλ€. μ΄ μ κ·Ό λ°©μμ ν΅ν΄ μ₯λ©΄ κ·Έλν, λ³ν, ν
μ€μ² μΊμ± λ° λ¬Έμ λͺ¨μ μ²λ¦¬λ₯Ό μν΄ λ μμ§ λͺ¨λμμ κ³΅ν΅ μΈνλΌλ₯Ό μ¬μ©ν μ μμμ΅λλ€. λν ν΅ν©μ ν΅ν΄ λ μμ§μ μ½λ λ² μ΄μ€ μ μ§ κ΄λ¦¬κ° ν¬κ² λ¨μνλμμΌλ©° μ΅μ μνλ‘ λκΈ°νλμμ΅λλ€.
κ° μ νμ λ λ λ Έλμ λν΄ λ³λμ λ¨μ μ °μ΄λλ₯Ό μ¬μ©νκ³ μ€νμ€ν¬λ¦° λ λλ§ μ€μ μ£ΌκΈ°μ μΌλ‘ λ°μ΄ν°λ₯Ό λ€μ μ λ ¬νλ μ΄μ gl μμ§κ³Ό λ¬λ¦¬ μλ‘μ΄ μμ§μ μ€νμ€ν¬λ¦° λ λλ§ λμ λ²νΌμ λ°μ΄ν°λ₯Ό ν΄μνλ 볡μ‘ν μ °μ΄λ(ubershader)λ₯Ό μ¬μ©ν©λλ€. . μ μμ§μ λ νΉν κΈ°λ₯ μ€μλ μ€κ³½ ννν(μΈλ°ν μΈλΆ μ¬νμ μ μ§νκ³ λ λΆλλ¬μ΄ μ€κ³½μ 그릴 μ μμ), μμ κ·ΈλΌλμΈνΈ νμ±(μμμ μμ λ° μ€ν°μ¨λ¦¬μ΄μ± μ¬μ© κ°λ₯) λ° λΆμ ν¬κΈ° μ‘°μ μ΄ μΈκΈλμ΄ μμ΅λλ€.
- μλ‘μ΄ "ngl" λ λλ§ μμ§μ κΈ°λ³Έμ μΌλ‘ νμ±νλλ©° Vulkan κ·Έλν½ APIμ λν μ§μλ κΈ°λ³Έμ μΌλ‘ νμ±νλ©λλ€. μ΄μ κΈ°λ³Έ ꡬμ±μΌλ‘ λΉλν λ Vulkan 1.3 μ§μμ΄ νμν©λλ€.
- OpenGL λ° Vulkanμ ν΅ν΄ κ·Έλν½ μ₯λ©΄μ λ λλ§νλ κΈ°λ₯μ μ 곡νλ GSK λΌμ΄λΈλ¬λ¦¬(GTK Scene Kit)λ κΈκΌ΄ λ λλ§, ννΈ, ν μ€νΈ νμ μ μ μκ° μλ μ€μΌμΌ κ° μ¬μ©κ³Ό κ΄λ ¨νμ¬ ν¬κ² κ°μ λμμ΅λλ€. ννΈλ₯Ό μ€ λ(μ ν΄μλ νλ©΄μμ λͺ νμ±μ λμ΄κΈ° μν΄ λμ€ν°ν μ€μ λ¬Έμ λͺ¨μ μ€κ³½μ μ λΆλλ½κ² ν¨) λ¬Έμ λͺ¨μμ νμ ν½μ μμΉ μ§μ μ΄ κ΅¬νλ©λλ€. μ μκ° μλ μ€μΌμΌ κ°(μ: 125%)μμ κΈκΌ΄ λ λλ§ νμ§μ΄ ν₯μλμμ΅λλ€. κΈλ¦¬ν λ° ν μ€μ²μ λν μΊμμμ μμ μ κ±°μ λν μ§μμ ꡬννμ΅λλ€. κΈλ¦¬ν μΊμ±μ ν¨μ¨μ±μ΄ ν₯μλμμ΅λλ€.
- Cairo λΌμ΄λΈλ¬λ¦¬ μ¬μ©μμ λ²μ΄λ GPU λ λλ§μ μ νΈνλ μμ§μμ μΌνμΌλ‘ μΌλ ¨μ μ μ΄λ 3μ°¨ λ° 2μ°¨ λ² μ§μ΄ 곑μ μ μ¬μ©νμ¬ λͺ¨μκ³Ό μμμ 그리λ λ° "κ²½λ‘"μ λν μ§μμ΄ μΆκ°λμμ΅λλ€. κ²½λ‘λ₯Ό μ¬μ©νμ¬ κ·Έλ¦¬κΈ°μλ μ μ΄λ 곑μ μ λ§€κ°λ³μλ₯Ό μ μνλ GskPath κ°μ²΄λΏλ§ μλλΌ κ³‘μ μ μμ±νκΈ° μν GskPathBuilder κ°μ²΄, λͺ¨μμ μ μ μ μνκΈ° μν GskPathPoint, κ²½λ‘ κΈΈμ΄μ κ°μ μΈ‘μ μ μν GskPathMeasureκ° μμ΅λλ€.

- GTKμ κ·Έλν½ νμ μμ€ν
μ¬μ΄μ λ μ΄μ΄λ₯Ό μ 곡νλ GDK λΌμ΄λΈλ¬λ¦¬λ DMA-BUF λ©μ»€λμ¦μ λν μ§μμ νμ₯νμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ€λͺ
μλ₯Ό μ¬μ©νμ¬ μ£Όμκ° μ§μ λ 컀λ μμ€ λ²νΌλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ€λͺ
μλ₯Ό ν΅ν΄ 컀λ νμ μμ€ν
κ°μ μ μ‘ν©λλ€. GTKμ λ§₯λ½μμ DMA-BUFλ ν©μ± μ€ λ° λΉλμ€ μμ
μ ν½μ
λ°μ΄ν° 볡μ¬λ₯Ό μ΅μννλ λ° μ¬μ©λ μ μμ΅λλ€. μλ₯Ό λ€μ΄ λΉλμ€λ dmabufμ νλμ¨μ΄ λμ½λλ‘ κΈ°λ‘ν λ€μ Wayland νλ©΄μ μ°κ²°λμ΄ UIμ© ν©μ± κ΄λ¦¬μλ₯Ό μ¬μ©νμ¬ λΆνμν λ°μ΄ν° λ³΅μ¬ μμ
μμ΄ ν©μ±μ νλ©΄μ μΆλ ₯ν©λλ€.
GtkGraphicsOffload μμ ―μ μΆκ°νμ¬ λΉλμ€ λ±μ μ½ν μΈ λ₯Ό λ³΅ν© κ΄λ¦¬μμ μ§μ μ μ‘νκ³ (GSK λ λλ§ μ°ν), GdkDmabufTextureBuilder ν΄λμ€λ₯Ό μΆκ°νμ¬ dmabufμμ GdkTexture κ°μ²΄λ₯Ό μμ±νμ¬ μ§μ μ μ‘μ© μ½ν μΈ λ₯Ό μμ±ν©λλ€. Pipewire, video4linux λλ gstreamerλ₯Ό dmabufμ μμ€λ‘ μ¬μ©ν μ μμ΅λλ€. dmabuf NV16, NV61, NV24, NV42 λ° YUV νμμ΄ μ§μλ©λλ€.
- μΈμ λνμμλ₯Ό μμ±νκ³ GtkPrintOperation λμ μ¬μ©ν λΉλκΈ° APIλ₯Ό μ 곡νλλ‘ μ€κ³λ GtkPrintDialog ν΄λμ€λ₯Ό μΆκ°νμ΅λλ€.
- GtkEmojiChooser μμ ―μ Emoji λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνκ³ λ€μν μ§μμ κ³ λ €νμ¬ λ€μν μΈμ΄λ‘ κ²μνλ κΈ°λ₯μ μΆκ°νμ΅λλ€.
- GtkEntry μμ ―μ μ€ν μ·¨μ μμ μ ꡬννκΈ° μν΄ μ¬μ©μκ° λ³κ²½ν λ΄μ©μ μΆμ νλ κΈ°λ₯μ΄ ν₯μλμμ΅λλ€.
- GtkFileChooser μμ ―μμ νμΌ μ ν λνμμ μ΄κΈ°κ° κ°μνλμμ΅λλ€.
- ν€λ³΄λ λ¨μΆν€μ νλ©΄ μ μ€μ²μ λν ν΄νμ νμνλ GtkShortcutsWindow ν΄λμ€λ μμ νλ©΄μ λ§κ² μ‘°μ λμμ΅λλ€.
- κ²μ¬ λͺ¨λ(GTK κ²μ¬κΈ°)λ OpenGL, μ§ν λ° FPSμ λν μ 보 νμλ₯Ό μ 곡ν©λλ€.
- gtk4-rendernode-tool μ νΈλ¦¬ν°μ "λΉκ΅" λͺ λ Ήμ΄ μΆκ°λμμ΅λλ€.
- κ²½λ‘ μμ μ μν΄ μλ‘μ΄ μ νΈλ¦¬ν°μΈ gtk4-path-toolμ΄ μ μλμμ΅λλ€.
- gtk4-node-editor μ νΈλ¦¬ν°μ μλ λ Ήμ μ§μμ΄ μΆκ°λμμ΅λλ€.
- GNOME Shell κΈ°λ°μ΄ μλ νκ²½μμ Waylandλ₯Ό μ¬μ©ν λ λ°μνλ μΆ©λμ μμ νμ΅λλ€.
- 볡μ‘ν νμμ ν μ€νΈ νμ, WebKitGTK μλ λ° μλ¦Ό νμμ κ΄λ ¨λ μ₯μ μΈμ μν μλ‘μ΄ κΈ°λ₯μ΄ μΆκ°λμμ΅λλ€. ARIA μ¬μμ λν μ§μμ΄ ν₯μλμμ΅λλ€. νμ¬ ν μ€νΈ μμ ―μμ μ κ·Όμ± κΈ°λ₯μ μ¬μ©νκΈ° μν GtkAccessibleText μΈν°νμ΄μ€λ₯Ό μΆκ°νμ΅λλ€. GtkText μΈν°νμ΄μ€μλ μ€ν¬λ¦° 리λμ μνΈμμ©νκΈ° μν AT-SPI νλ‘ν μ½μ λν μ§μμ΄ μΆκ°λμμ΅λλ€.
- νλ«νΌμμ WGL APIλ₯Ό μ¬μ©νμ¬ GPU λ λλ§ κΈ°λ₯μ μΆκ°νμ΅λλ€. Windows.
- CSS κΈ°λ° ν λ§λ₯Ό λ‘λν λ λ©λͺ¨λ¦¬ μλΉκ° κ°μλμμ΅λλ€.
μΆμ² : opennet.ru

