当前位置:首页 > 每日看点 > 正文内容

笔记本只使用Linux是什么体验?

卡卷网1年前 (2024-11-30)每日看点226

近日,deepin(深度)社区亮相 COSCon'24 第九届中国开源年会,并为大家来了《Treeland,DDE进步的阶梯》技术分享。

就着这个机会,今天就让我们一起来聊聊如何在追求华丽动画和流畅体验的同时,还能保持系统的轻盈和高效。这就像是在玩一场平衡游戏,设计师和架构师各自站在天平的两端,一边是视觉盛宴,另一边是性能怪兽。这两者之间的平衡,就需要我们研发团队来巧妙地“牺牲”一些头发(脑力)来实现了。

历史背景

在 deepin 15 时期,开发团队使用 Mutter 为高性能设备提供流畅图形效果,用 Metacity 为低配置设备保证系统流畅性。但在 deepin 20 时期,团队决定采用 KWin 作为新窗口管理器,因其具备强大功能且可关闭合成器,适应不同硬件配置。因此,放弃了 Mullter+Metacity 的组合,以确保在各种设备上提供流畅安全的图形界面体验。然而,技术的不断发展促使我们再次面临技术革新。

技术选择:X11 与 Wayland

在 Linux 下目前有两个技术栈,一个是历史悠久的 X11,另一个是较新的 Wayland 。接下来,跟随我一起来对比两个技术。

X11Wayland
架构传统的客户端-服务器模型,支持网络传输和远程显示简化设计,去除×服务器复杂性,提高效率和响应速度,专注于本地显示
性能由于设计老旧,性能在现代场景下不
佳,依赖扩展和补丁实现现代图形效
现代化设计,简化染过程,性能提升显著,尤其在动画和窗口操作方面
安全性安全性问题明显,应用程序可以访问
彼此的窗口信息,易受恶意程序干扰
应用程序隔离性强,无法访问其他程序的图像或输入输出,安全性高
可扩展性和兼容性x11有非常广泛的应用支持和兼容性。
许多老的应用程序和桌面环境仍然依赖于X11协议
逐渐被主流桌面环境支持,但生态不如x11广泛,需要兼容层运行×11应用
输入设备支持对传统输入设备支持成熟,但在多点
触控和手势支持方面不够灵活
优化现代硬件支持,特别是在多点触控和手势方面
远程桌面和网络透明性支持通过网络远程传输显示内容,适
合专业领域使用
没有×11的网络透明性,远程桌面功能有限,通常需要第三方工具

总的来说,X11 作为老牌的显示服务器,拥有广泛的兼容性和成熟的生态系统。然而,其架构在安全性、性能和易用性方面存在一些局限性。相比之下,Wayland 作为一种新兴的显示服务器,其架构简化了客户端和服务器之间的通信过程,减少了潜在的安全漏洞,从而提高了整体的安全性。

此外,Wayland 在性能方面也有显著的优势,能够更好地支持现代显示技术,如高分辨率和高帧率的显示任务。最后,Wayland 的架构设计使得其配置和管理相对简单,用户体验更加友好,有助于吸引更多新手用户。


架构设计与新窗口管理器 Treeland

从技术层面上,我们认为是时候更新技术方案了,曾经的 X11 + 窗口管理器 + 合成器的模式,灵活但不满足需求,而 Wayland 可通过将窗口管理器、合成器与显示系统从底层整合,提供了一种避免画面撕裂的更新机制。

因此 DDE 决定结合 Wayland 开发一个新的窗口管理器——Treeland。它在底层使用 wlroots 作为 Wayland 基础库,不修改 wlroots 代码,可随时同步上游进度,获得新的功能和修复。上层使用 Qt,使技术栈更统一。它专为满足 DDE 需求而设计,避免了使用第三方窗口管理器时常见的破坏性调整、同步问题和维护成本。

笔记本只使用Linux是什么体验?  第1张


上图描述了 Treeland 在整体上会使用哪些项目或接口完成功能。

笔记本只使用Linux是什么体验?  第2张

Treeland 结构图


Treeland 的技术结构与功能

1、重要项目介绍

  • QWlroots:wlroots 的 Qt 绑定,将 Wayland 信号转换为 Qt 风格信号。
  • Waylib:将 wlroots 组件封装成 QtQuick 对象,使用 QPA 为 Treeland 提供事件转换与分发。
  • DtkDeclarative:DTK 的 QtQuick 组件,封装大部分 DTK style 控件。

在 Waylib 中,QPA 功能举足轻重。系统底层事件先进入 Waylib,转换为 Qt 内部事件发送给上层。当用户点击窗口时,Treeland 通过 Waylib 生成事件发送给客户端,完成界面交互。

笔记本只使用Linux是什么体验?  第3张

Treeland 处理底层事件与上层事件的流程

2、界面效果与优化

  • 圆角:

DDE 及 deepin 社区应用大量采用窗口圆角设计,Treeland 提供自己的裁圆角控件,新造型算法减少几何顶点数量和计算量,采用新抗锯齿算法提高 GPU 性能。QtQuick 圆角是由 Rectangle 组件提供的,它只能同时对四个角进行操作(红色块)。但 DTK 程序具备异形窗口的能力,所以 Treeland 提供了自己的裁圆角控件(黄色块)。

新的造型算法、几何顶点数量比 QtQuick 原生的 Rectangle 减少50%,GPU 顶点渲染和三角细分性能提升100%。

采用新的抗锯齿算法,提高了 GPU 片元着色器性能,相比于普通 4xMSAA 抗锯齿算法,计算量减少1/4。

笔记本只使用Linux是什么体验?  第4张

红色为 QtQuick 圆角/黄色为 Treeland 圆角

  • 模糊:

QtQuick 的模糊组件仅支持对控件自身进行模糊,这并不符合 Treeland 的需求。Treeland 重新实现模糊组件,能从显存获取组件下方图像数据,使用融合模糊算法优化性能。

笔记本只使用Linux是什么体验?  第5张

QtQuick 模糊控件

笔记本只使用Linux是什么体验?  第6张

Treeland 模糊控件


  • 阴影:

Treeland 使用 BorderImage 作为窗口阴影贴图,通过 ImageProvider 手动创建贴图材质,在相同大小下可复用同一份材质。

笔记本只使用Linux是什么体验?  第7张


  • 动画:

直接使用 QtQuick 提供的动画组件为界面提供动画效果。使用 State 和 Transition 为组件定义属性变化,例如窗口最大化和还原,两个 State 切换会触发不同的 Transition 执行属性变化,在属性变化时,使用 QtQuick 的动画组件完成动画播放。

3、多用户功能

Treeland 作为解决方案的一部分,旨在实现多用户共用合成器。与传统模式相比,DDM 和 Treeland 重新设计工作流程,将 Treeland 单独抽离,用户通过相同机制将窗口画面发送给 Treeland 进行合成上屏,节省内存,避免黑屏闪烁和状态同步难题。

笔记本只使用Linux是什么体验?  第8张

一个简化的 DDM 与 Treeland 的多用户登录流程

4、与 systemd 的集成

DDE 的每个用户会话切换至 systemd 服务,Treeland 模式下加载单独服务为用户会话注入显示环境变量,使用 systemd 的 socket 机制懒加载,确保用户侧窗口正常显示。

笔记本只使用Linux是什么体验?  第9张

多用户登录时的基本流程

总结

深度操作系统(DDE)在窗口管理器方面的演进,从 Mutter 和 Metacity ,到 KWin ,再到我们自己的 Treeland ,展示了我们在系统架构和用户体验方面的持续创新和改进。

相关阅读:

(1)deepin - 国际排名查看

(2)深度桌面环境(DDE)

(3)deepin 2024 年度用户使用体验调研

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/11/2146.html

分享给朋友:

相关文章

手机用久了,垃圾都在哪里,总是内存显示不够,还很卡,这可怎么解决?

手机用久了,垃圾都在哪里,总是内存显示不够,还很卡,这可怎么解决?

大家的手机在使用一段时间之后啊,是不是都会出现又卡又慢的情况,尤其是安卓手机,这种现象更是非常明显,而且很多朋友啊,也都知道手机之所以会出现这些问题,一般都是手机安装了大量软件,而这些软件在使用过程中会产生大量的缓存垃圾,因此啊时间久了就会...

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收小哥年纪不算大,目测二十多岁他的手机上全是一道道极严重的划痕,有点卡,他开热点了,热点名就是手机型号,红米9a,我父母的同款现在他那边操作了一会,然后又是我这边操作了一会小哥看着我手机刷刷的,颇有些好...

抖音上有一些账号搬运别人的视频,几乎一模一样,也没判搬运,他们是怎么做到的??

对于任何短视频平台来说,如何用最低的成本快速实现伪原创搬运都是需要解决的问题。所有的短视频平台,包括抖音、快手、tiktok、视频号、小红书、B站,甚至是FB、推特、INS、YouTube,它们的查重技术都是类似的,只要你在网络环境设置得当...

抖音小店三个月了一单没出,也没有流量,一个星期好像都没有一个点击,怎么办?

抖音小店三个月了一单没出,也没有流量,一个星期好像都没有一个点击,怎么办?

好消息,你有毅力上200多个品,还能坚持三个月坏消息,一单没出我感觉你还是别碰抖店了,甚至电商平台都别碰 你没这个缘分我要是这样,我得用一百辆叉车叉死我自己你如果还想坚持,我直接给你这套至少价值19800学来的新思路简单来说就是 你做的好的...

常微分方程的理论对偏微分方程的研究有没有帮助?

常微分方程的理论对偏微分方程的研究有没有帮助?

之前看到过一句话,好像是 Bourgain 说的,大意是做 ode 的做到深处就到了 pde,做 pde 的做到深处就到了 ode,ode 和 pde 最后是相通的。以我目前有限的知识,只知道下面两个方向:1. Hamilton 系统在现代...

领导给我介绍了私活,挣了3W。该给领导分多少合适呢?

你看,这就是网络的好处了。这种问题,你去问亲戚朋友,一大帮子人有一大帮子说法,还不排除有人眼红故意坑你瞎出主意。你这隔网上一问,大家素昧平生,反而因为想骗个赞跟你使出浑身解数来出主意。多好你看。其实这事道理很简单。人脉是人家的,活是你干的。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。