在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解deepin 25 Preview的Treeland窗口合成器

深度操作系統 ? 來源:深度操作系統 ? 2025-01-23 09:22 ? 次閱讀

回顧

DDE 在 V15 時期,使用 Mutter 作為帶合成器的窗管,以及 Metacity 這種不帶合成器的窗管,一個是在高性能設備上使用,一個是為低性能設備上使用。

在 V20 時期,DDE 更換 KWin 當窗口管理器,由于 KWin 自帶有關閉合成器的模式,所以 DDE 也放棄了 Metacity 作為備用窗管的選項。

痛點

從社區收集到的體驗報告,絕大部分用戶不滿意在屏幕縮放上,一部分用戶不滿意在動畫僵硬、死板、卡頓等用戶體驗上。

在以往版本的 DDE 中,受限于 X11 的架構,無法針對不同屏幕使用不同的縮放。很多用戶可能是 1080p 的筆記本屏幕,外接一個 2K 或者 4K 的顯示器,在 X11 下,用戶只能照顧高分辨率的屏幕,犧牲低分辨率屏幕的使用,例如開啟兩倍屏幕縮放,在高分辨率下的屏幕顯示剛剛好,但低分辨率屏幕已經無法查看任何一個正常的窗口了。

Treeland

Treeland 是 deepin 社區開發的一款基于 Wayland 協議的顯示服務器,Treeland在底層使用 wlroots 作為 Wayland 的基礎庫,不修改 wlroots 的代碼,也就意味著可以隨時同步上游進度,獲得新的功能與修復。上層使用 Qt,可以充分利用已有的大量 Qt 開發者,不再需要一直有專人負責特定項目,讓 DDE 的技術棧更加統一。

60b9d91c-d8ad-11ef-9310-92fbcf53809c.png

優化

1屏幕縮放

Treeland 直接管理屏幕,支持為不同屏幕設置獨立的縮放比例,從而確保高分辨率和普通分辨率的屏幕可以完美共存。通過擴展協議,Treeland 還支持浮點數縮放比例(如 1.25 或 1.5),讓各種分辨率下的顯示效果都能得到良好支持。

當窗口在不同屏幕間移動時,Treeland 會實時根據窗口所在位置調整其縮放比例。當窗口跨越兩個屏幕時,系統會按照各自的縮放比例分別渲染窗口的不同部分,保證顯示流暢且過渡自然。這種設計讓用戶在多屏工作時始終獲得清晰、易用的界面體驗。

2復制模式

在 X11 下,復制模式是通過將兩個屏幕設置為相同分辨率并重疊坐標來實現的。然而,這種方法存在以下顯著劣勢:

重復渲染

X11 需要為兩個屏幕分別渲染相同的畫面,這種資源利用方式非常低效。相比之下,Treeland 可以在 DRM 層面直接將同一份畫面數據發送到多個屏幕,避免重復渲染,從而大幅降低 GPU 負載,提升性能。

畫面壓縮與變形

當兩個屏幕分辨率差異較大時,X11 會強制調整分辨率以保持一致,導致畫面壓縮或變形。Treeland 則采用原始分辨率輸出,通過在屏幕上下或左右留出空白區域(letterboxing/pillarboxing)的方式保持畫面比例,有效避免畫面失真,優化復制模式下的顯示效果。

增強的視覺效果

Treeland 不僅保持畫面比例,還能在空白區域(如上下或左右空隙)繪制額外內容,比如模糊處理后的桌面壁紙。這種設計既提升了美觀性,又改善了用戶體驗,使復制模式更加精致自然。

總的來說,Treeland 的實現方案在性能、畫面質量和用戶體驗等方面都顯著優于傳統的 X11 復制模式,為多屏應用場景帶來了重要優化。

3窗口效果

Treeland 使用 QtQuick 作為渲染層,然而 QtQuick 自帶的部分組件性能并不太好,以下是其針對 QtQuick 自帶組件性能問題的改進措施與實現細節。

圓角處理優化

QtQuick 的 Rectangle 組件支持圓角效果,但受限于只能同時對四個角進行操作,且性能存在一定瓶頸。Treeland 為了解決這一問題,實現了自定義的圓角裁剪控件:

異形窗口支持:相比 QtQuick 原生 Rectangle 的四角統一裁剪,Treeland 的自定義控件支持不規則圓角設計(如 DTK 的異形窗口效果),大幅提升了界面靈活性。

算法優化

新的圓角造型算法使得幾何頂點數量減少 50%,降低了 GPU 的頂點處理負擔;

三角細分效率提高了 100%,進一步優化了 GPU 渲染性能。

抗鋸齒改進:引入自研抗鋸齒算法,相比傳統的 4xMSAA 算法,減少了 25% 的片元著色器計算量,同時保持視覺質量。

模糊效果重構

QtQuick 本身對模糊效果的支持較弱,性能表現難以滿足復雜場景需求。Treeland 針對模糊效果進行了徹底重構:

顯存訪問優化:通過直接從顯存中讀取組件下方的圖像數據,避免了多余的 CPU-GPU 數據交換,提高了整體模糊處理效率。

融合模糊算法:

將多種模糊算法(如高斯模糊和雙邊模糊)進行融合,以實現更好的性能和視覺平衡;

針對動態內容場景,采用增量模糊計算方式,進一步減少了幀間計算成本。

陰影效果優化

QtQuick 提供了 BorderImage 組件,能通過九宮格拉伸技術為組件增加裝飾效果。但原生機制在大規模應用時性能不足。Treeland 的改進如下:

材質復用:利用 ImageProvider 手動控制陰影貼圖資源的創建和管理。在多個組件大小相同的情況下,共享同一份材質資源,避免重復加載,節省顯存;

實時更新:對于動態調整大小的窗口,Treeland 實現了實時更新的陰影裁剪算法,無需完全重新生成貼圖,進一步優化了性能;

視覺一致性:陰影的過渡效果與窗口動畫聯動,增強了整體界面的一致性和流暢性。

動畫效果改進

Treeland 在動畫實現上直接采用 QtQuick 的 State 和 Transition 機制,同時結合自定義優化,實現了流暢的界面動態效果:

狀態驅動:

使用 State 定義組件的不同狀態(如窗口最大化、最小化、還原等);

通過 Transition 配置狀態切換時的屬性變化邏輯(如位置、大小、透明度等)。

動畫增強:

借助 QtQuick 動畫組件(如 NumberAnimation 和 PropertyAnimation),實現了高幀率的動畫過渡;

自適應動畫曲線,根據窗口的大小和目標狀態調整動畫時長,提供更貼合用戶直覺的交互體驗。

通過以上優化,Treeland 不僅顯著提升了組件的渲染效率,還在視覺效果和用戶體驗上實現了跨越式進步。具體表現為:

GPU 性能提升:相比 QtQuick 原生組件,Treeland 的渲染性能整體提高了;

資源利用率優化:通過顯存訪問優化和材質復用技術,大幅降低了內存和顯存占用,為低性能設備也帶來了良好的兼容性。

4截圖錄屏

Treeland 提供了高效的快速區域選擇功能,支持吸附窗口以自動確定選區邊界,使操作更加直觀便捷。系統監視器可通過該接口快速獲取特定窗口的相關信息,簡化信息提取的流程。

此外,Treeland 通過引入 DMA Buffer 技術,大幅提升了數據復制的效率,支持跨屏幕截圖功能,無需客戶端處理復雜的窗口邏輯。為保護用戶隱私,Treeland 對截圖和錄屏返回的信息進行嚴格管控,自動抹除窗口的敏感信息,杜絕隱私泄露的風險。

在錄屏功能方面,Treeland對錄屏會話進行了全面監控,實時提醒用戶當前處于錄屏狀態,有效避免用戶在不知情的情況下泄露隱私。這種設計還彌補了 X11 環境下程序可直接獲取屏幕數據所導致的潛在隱患,顯著增強了系統的隱私保護能力。

5多用戶

Treeland 的多用戶優化是其核心設計目標之一。在傳統的 LightDM 模式下,不同用戶之間的切換依賴于 tty 層面前端程序的控制權轉移,每個用戶獨占一個 tty 進行畫面顯示。然而,這種方式存在明顯的問題:

切換延遲與閃爍

由于 tty 切換需要進行底層 DRM 和顯卡驅動的操作,屏幕緩沖區會被不同程序覆蓋,導致屏幕出現閃爍甚至短暫黑屏的現象。

資源消耗

每個用戶運行獨立的一套進程組,包括窗口管理器、任務欄、文件管理器等。這不僅占用大量內存,還要求每個用戶運行獨立的鎖屏界面,額外增加了資源負擔。

信息同步難題

為維持界面的一致性,用戶切換時需要同步跨用戶的狀態,這帶來了實現上的復雜性。

Treeland 在設計中引入了 DDM(Deepin Display Manager),通過重新定義工作流程,解決了上述問題:

集中式合成

Treeland 被獨立抽離為一個統一的畫面合成器,各用戶的窗口畫面都通過統一機制發送到 Treeland 進行最終的合成和顯示。這種架構徹底消除了多 tty 切換的閃爍問題。

內存優化

不再需要為每個用戶單獨運行窗口管理器、鎖屏界面等進程,大幅減少了內存開銷。

狀態統一

由于所有用戶的界面由 Treeland 集中管理,切換用戶時無需進行跨進程的狀態同步,簡化了實現。

即便在 LightDM 下,Treeland 仍然可以通過用戶級別的 systemd 服務正常運行,作為一個獨立的 Wayland 合成器使用。然而,在這種模式下,Treeland 無法實現 DDM 的多用戶優化功能,僅具備單用戶 Wayland 合成器的基礎能力。

Treeland 的多用戶優化通過集中式合成與資源整合,顯著改善了用戶切換的體驗,既提升了系統性能,又簡化了實現邏輯。雖然在傳統 LightDM 環境中無法完全發揮優勢,但其靈活的架構設計確保了廣泛的適用性和良好的兼容性。

6手勢

Treeland 在手勢方面也有極大的進步,以下是 Treeland 和 X11 以及原生 Wayland 協議之間的對比:

X11 的手勢事件處理

手勢事件由 libinput 生成,經由 XInput2 轉發至 X Server。

X Server 解析事件后,依據焦點窗口的配置,將事件分發給客戶端應用程序或窗口管理器(如 KWin)。

KWin 通過 XInput2 接口處理全局手勢,包括:

注冊輸入管理器;

識別全局手勢;

阻止手勢事件冒泡。

由于事件需在 libinput、X Server 和窗口管理器之間多次傳遞,造成較高延遲,導致手勢動畫不夠流暢且跟手性差。

Wayland 的手勢事件處理

手勢事件由 libinput 直接傳遞至 Wayland 合成器,無需經過中間轉發(如 XInput2);

合成器(如 Treeland)可直接處理手勢事件,從而提升響應速度和復雜手勢支持能力。

Treeland 的優化

使用 Waylib 將 libinput 輸入事件轉換為 Qt 事件;

利用 Qt 原生手勢事件支持,將窗口或動畫組件與手勢處理器綁定,通過 QtQuick 實現流暢的跟手動畫。

Wayland 采用直接事件處理機制,簡化了手勢事件的傳遞路徑,大幅提升響應速度,有效降低延遲。相比之下,X11 的復雜交互流程使手勢體驗欠佳。Treeland 結合 Wayland 和 QtQuick 技術,實現了更出色的手勢動畫實時性和跟手性,帶來現代化的用戶體驗。

總結

總的來說,Treeland 作為新一代的 Wayland 合成器,在多個方面都實現了重大突破:

通過狀態驅動和動畫增強,顯著提升了視覺效果和交互體驗;

引入 DMA Buffer 和隱私保護機制,讓截圖錄屏功能更加安全高效;

創新性地采用 DDM 和集中式合成,優化了多用戶切換體驗;

基于 Wayland 和 QtQuick 技術,實現了更流暢的手勢控制系統

Treeland 的創新不僅顯著提升了系統性能,為用戶帶來更現代化、更安全的使用體驗,更充分展現了其在 Linux 桌面環境中巨大的發展潛力。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 顯示器
    +關注

    關注

    21

    文章

    5004

    瀏覽量

    140264
  • 服務器
    +關注

    關注

    12

    文章

    9287

    瀏覽量

    85847
  • 管理器
    +關注

    關注

    0

    文章

    248

    瀏覽量

    18575

原文標題:deepin 25 Preview丨Treeland:更快、更流暢

文章出處:【微信號:linux_deepin,微信公眾號:深度操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    合成器

    1、使用反饋有一種設備與振蕩器有關,.稱為合成器。在一些情況下,從普通振蕩器出來的正弦波不夠完美。射頻工程師發現如果振蕩器與其它電路結合起來,利用反饋,可以使正弦波更完美,這就適合成器的功能:一個振
    發表于 12-06 14:06

    詳解頻率合成器高性能架構的實現

    要滿足苛刻的頻率合成器要求,通常需要做到一定程度的設計靈活性。基本的鎖相環(PLL)頻率合成器能以低成本、高空間效率、低功耗封裝提供合理的頻譜純度和頻率捷變,因此它在射頻(RF)系統核心位置發揮作用
    發表于 07-08 06:10

    基于DDS的頻率合成器設計介紹

    直接數字頻率合成(DDS)在過去十年受到了頻率合成器設計工程師極大的歡迎,它被認為是一種具有低相位噪聲和優良雜散性能的靈活的頻率源,基于DDS的頻率合成器在許多應用中能比基于鎖相環(PLL)頻率
    發表于 07-08 07:26

    如何利用FPGA設計PLL頻率合成器

    電子技術應用頻率合成技術是現代通信的重要組成部分,它是將一個高穩定度和高準確度的基準頻率經過四則運算,產生同樣穩定度和準確度的任意頻率。頻率合成器是電子系統的心臟,是影響電子系統性能的關鍵因素之一
    發表于 07-30 07:55

    什么是頻率合成器

      頻率合成器是利用一個或多個基準頻率,通過各種技術途徑產生一系列的離散頻率信號的設備。這些頻率的穩定度和精度均和基準頻率相同,而且頻率的轉換時間很短,這樣才會有效率和實用價值。  頻率合成器的實現
    發表于 08-19 19:18

    鎖相環頻率合成器是什么原理?

    頻率合成器的主要性能指標鎖相環頻率合成器原理鎖相環頻率合成器捕捉過程的分析與仿真
    發表于 04-22 06:27

    頻率合成器,頻率合成器原理及作用是什么?

    頻率合成器,頻率合成器原理及作用是什么? 所謂的頻率合成器,就是以一個精確度、穩定度極好的石英晶體振蕩器作為基準頻率,并利用加、減
    發表于 03-23 11:04 ?1.5w次閱讀

    什么是直接式頻率合成器(DS)

    什么是直接式頻率合成器(DS) 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統的“心臟”。現代戰
    發表于 03-23 11:23 ?1746次閱讀

    間接式頻率合成器(IS)的定義和原理是什么?

    間接式頻率合成器(IS)的定義和原理是什么? 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統的“心臟”。現代戰爭是
    發表于 03-23 11:31 ?2395次閱讀

    單環鎖相頻率合成器,單環鎖相頻率合成器是什么意思

    單環鎖相頻率合成器,單環鎖相頻率合成器是什么意思 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統的“心臟”。現代戰爭是
    發表于 03-23 11:36 ?1046次閱讀

    集成鎖相環頻率合成器,什么是集成鎖相環頻率合成器

    集成鎖相環頻率合成器,什么是集成鎖相環頻率合成器 頻率合成的歷史 頻率合成器被人們喻為眾多電子系統
    發表于 03-23 11:45 ?828次閱讀

    AD9832:25 MHz直接數字合成器,波形發生器數據表

    AD9832:25 MHz直接數字合成器,波形發生器數據表
    發表于 05-08 21:02 ?16次下載
    AD9832:<b class='flag-5'>25</b> MHz直接數字<b class='flag-5'>合成器</b>,波形發生器數據表

    pll頻率合成器工作原理與pll頻率合成器的原理圖解釋

    pll頻率合成器工作原理與pll頻率合成器的原理圖解釋 我們要搞清楚pll頻率合成器工作原理與pll頻率合成器的原理圖就要先搞清楚pll和頻率合成器
    的頭像 發表于 02-24 18:19 ?9758次閱讀
    pll頻率<b class='flag-5'>合成器</b>工作原理與pll頻率<b class='flag-5'>合成器</b>的原理圖解釋

    Arduino合成器

    電子發燒友網站提供《Arduino合成器.zip》資料免費下載
    發表于 06-29 10:04 ?1次下載
    Arduino<b class='flag-5'>合成器</b>

    詳解deepin 25 Preview的磐石系統

    deepin 25 Preview 帶來了全新的“磐石系統”,從系統底層到日常使用,全方位提升穩定性和安全性。
    的頭像 發表于 01-22 09:44 ?59次閱讀
    主站蜘蛛池模板: 69久久| 婷婷激情综合五月天| 手机在线观看你懂的| 555成人免费影院| 每日最新avhd101天天看新片| 黄色片 720p| 三级视频网| 亚洲成人自拍| 日本欧洲亚洲一区在线观看| 国产黄在线观看免费观看不卡 | 欧美19禁| xxxx日本69护士| 国产精品久久久久久久久免费| 偷自在线| www.色妞| 国产日韩精品一区二区三区| 色视频在线观看网站| 五月婷婷在线观看视频| 狠狠色婷婷七月色综合| 男操女视频在线观看| 久久艹人人艹| 奇米激情| 国产综合久久久久影院| 欧美123区| 色婷婷成人| 噜噜噜噜影院| 六月婷婷在线| 日韩精品你懂的在线播放| 台湾香港澳门三级在线| 一级做a爰片久久毛片鸭王| 男女交性高清视频无遮挡| 日本在线亚洲| 亚洲成在| 久久综合九色综合98一99久久99久| 国产成年美女毛片80s| 国产免费一级高清淫曰本片| 永久看免费bbbbb视频| 亚洲第一免费网站| 亚洲午夜精品久久久久久抢| 亚洲精品久久久久午夜福| 久久精品免费观看久久|