GTK 4.14 圖形工具包現已推出,配備新的 OpenGL 和 Vulkan 引擎

經過七個月的開發,用於創建圖形使用者介面的多平台工具包已經發布 - GTK 4.14.0。 GTK 4 正在作為新開發流程的一部分進行開發,該流程試圖為應用程式開發人員提供穩定且受支援的API,可以使用多年,而不必擔心由於下一個GTK 中的API 更改而必須每六個月重寫一次應用程式分支。

未來計畫形成實驗分支4.90,為GTK5未來版本開發功能。 GTK5 分支將包含違反 API 等級相容性的更改,例如與棄用某些小部件相關的更改,例如舊的檔案選擇對話框。結束 GTK5 分支中對 X11 協議的支援並保留僅使用 Wayland 協議工作的能力的可能性也在討論中。

GTK 4.14 中最顯著的改進包括:

  • 它包括使用 OpenGL(GL 3.3+ 和 GLES 3.0+)和 Vulkan 圖形 API 的新統一渲染引擎「ngl」和「vulkan」。兩個引擎都基於 Vulkan API,但考慮到 OpenGL 和 Vulkan 之間的差異,「ngl」引擎有一個單獨的 OpenGL 抽象層,運行在 Vulkan 之上。這種方法使得在兩個引擎中使用通用基礎設施來處理場景圖、轉換、快取紋理和字形成為可能。統一也顯著簡化了兩個引擎程式碼庫的維護,並使它們保持最新和同步。

    與舊的gl 引擎不同,舊的gl 引擎為每種類型的渲染節點使用單獨的簡單著色器,並在離屏渲染期間定期重新排序數據,而新引擎不使用離屏渲染,而是使用複雜的著色器(ubershader) 來解釋緩衝區中的資料。在新引擎的獨特功能中,提到了輪廓平滑(允許您保留精細細節並實現繪製更平滑的輪廓)、任意漸變的形成(可以使用任意數量的顏色和抗鋸齒)和分數縮放。

  • 預設啟用新的「ngl」渲染引擎,並且預設啟用對 Vulkan 圖形 API 的支援。在預設配置中建置時,現在需要 Vulkan 1.3 支援。
  • GSK 函式庫(GTK Scene Kit)提供了透過 OpenGL 和 Vulkan 渲染圖形場景的能力,在字體渲染、提示以及顯示文字時使用非整數比例值方面做出了重大改進。當提示時(在光柵化過程中平滑字形輪廓以提高低解析度螢幕上的清晰度),會實現字形的子像素定位。非整數比例值(例如 125%)下字體渲染的品質得到了提升。實現了從字形和紋理的緩存中逐出元素的支援。提高了字形快取的效率。
  • 作為放棄使用 Cairo 庫而支援 GPU 渲染的一部分,添加了對「路徑」的支持,以便使用一系列直線或三次和二次貝塞爾曲線來繪製形狀和區域。對於使用路徑進行繪圖,有一個定義直線或曲線參數的 GskPath 對象,以及用於創建曲線的 GskPathBuilder 對象,用於定義形狀上的點的 GskPathPoint 對象,以及用於進行路徑長度等測量的 GskPathMeasure 對象。
    GTK 4.14 圖形工具包現已推出,配備新的 OpenGL 和 Vulkan 引擎
  • GDK 庫在 GTK 和圖形子系統之間提供了一個層,它擴展了對 DMA-BUF 機制的支持,該機制允許使用使用描述符尋址的核心緩衝區,這使得無需複製像素數據,透過描述符在核心子系統之間傳輸它們。在 GTK 的上下文中,DMA-BUF 可用於在合成期間和處理視訊時最大程度地減少像素資料的複製(例如,視訊可以由 dmabuf 中的硬體解碼器記錄,然後附加到 Wayland 表面並傳遞到用於UI 的合成管理器並將輸出合成到螢幕,無需不必要的資料複製操作)。

    新增了 GtkGraphicsOffload 小部件以直接將影片等內容傳送到複合管理器(繞過 GSK 渲染),並新增了 GdkDmabufTextureBuilder 類別以從 dmabuf 建立 GdkTexture 物件以建立用於直接傳輸的內容。 Pipewire、video4linux 或 gstreamer 可以用作 dmabuf 的來源。支援 dmabuf NV16、NV61、NV24、NV42 和 YUV 格式。

  • 新增了 GtkPrintDialog 類,旨在產生列印對話框並提供非同步 API 來取代 GtkPrintOperation。
  • GtkEmojiChooser 小工具更新了表情符號數據,並添加了以不同語言進行搜尋的功能,同時考慮到不同的區域設定。
  • 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

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster