如果您强调 X 作为现代 Linux 系统上的开销来源,那么您可能没有找对地方。 X 是很久以前为计算机设计的,其功能远不如现代手机强大。
如果您查看“top”并看到 X 使用内存,则需要做很多工作才能计算出实际的 X 开销。有些内存映射不是“真实”内存,并且有些资源(例如大像素块)代表应用程序分配。最重要的是,顶部显示的 X 内存并不是人们想象的那样。
人们还听说 X 使用“网络”,并认为这将成为性能瓶颈。这里的“网络”指的是本地 UNIX 域套接字,它在现代 Linux 上的开销可以忽略不计。网络上会出现瓶颈的事情,有 X 扩展可以加快速度(共享内存像素图、DRI 等)。进程内线程不一定比 X 套接字更快,因为瓶颈更多地与协调访问同一硬件的多个线程或进程的固有问题有关,而不是与本地套接字的最小开销有关。
多进程设置有很多优点,例如更难崩溃。以 Google Chrome 为例,使用多个进程变得更加健壮 - 事实证明,也可以运行得更快。更少的流程并不一定意味着更现代。
使用 GTK 的应用程序无法透明地移植到 DirectFB 的原因有很多。对于 Firefox 来说,其一是有时它会直接使用 X。此外,一些独立于工具包的东西(例如浏览器插件接口)直接使用 X。例如,Flash 插件无法在 DirectFB 上运行。即使不直接使用 X 的应用程序通常也会假设存在正常的基于 X 的桌面环境(GNOME 等)。
替换 X 的另一个问题是驱动程序支持,两种更好的显卡(NVidia、ATI)都具有比免费驱动程序功能更强的专有驱动程序,并且这些专有驱动程序与 X 绑定。
当然还有迁移路径。如果您有数百个应用程序使用 X 并且 X 没有明显的最终用户缺点,那么没有人会切换到没有应用程序工作的东西。最有可能的是,这里的解决方案是在新窗口系统上运行无根 X 服务器,因此旧应用程序仍然可以运行。
老并不总是坏事。 X 是由聪明人精心设计的,这使得它能够不断发展和变化,并且在多年后仍然有效。
无论如何,总而言之,基本上从 X 切换过来需要付出大量的努力,它确实工作得很好,并且“工作得很好”从来没有适用于任何替代方案(至少如果你希望能够在上面运行大多数应用程序的话)大多数硬件)。
X 存在一些问题 - 例如无法进行原子屏幕更新,这是 Wayland 项目正在研究的问题 - 但大多数问题对于用户来说确实是装饰性的(例如非原子更新)或对于开发人员来说是装饰性的(旧的已弃用的扩展)等)。放弃 X 并神奇地拥有更小、更快的东西是不真实的。这主要是基于人们推测“旧”和“使用网络”一定是缓慢且臃肿的,但同样,X 是为非常糟糕的硬件设计的。我曾经在我的 386 上运行 X(和 Emacs!),大概有 8 兆 RAM 或类似的东西。