最新の Linux システムのオーバーヘッドの原因として X を強調している場合は、適切な場所を探していない可能性があります。X は、現代の携帯電話よりもはるかに性能の低いコンピュータ向けに、かなり昔に設計されました。
"top" を見て、X がメモリを使用していることがわかれば、実際の X オーバーヘッドを把握するためにやるべきことがたくさんあります。「実際の」メモリではないメモリ マップがあり、アプリに代わって割り当てられたリソース (ピクセルの大きなブロックなど) があります。要するに、上部の X に示されているメモリは、人が考えているものとは異なります。
また、X が「ネットワーク」を使用していると聞いて、これがパフォーマンスのボトルネックになると考えています。ここでの「ネットワーク」はローカルの UNIX ドメイン ソケットを意味し、最新の Linux ではオーバーヘッドはごくわずかです。ネットワーク上でボトルネックになるものは、高速化するための X 拡張機能 (共有メモリ ピックスマップ、DRI など) があります。ボトルネックは、ローカル ソケットの最小限のオーバーヘッドよりも、同じハードウェアにアクセスする複数のスレッドまたはプロセスを調整するという固有の問題に関係しているため、プロセス内のスレッドは必ずしも X ソケットよりも高速ではありません。
マルチプロセス設定には、クラッシュしにくいなど、多くの利点があります。たとえば、複数のプロセスを使用してより堅牢にする Google Chrome を参照してください。プロセスが少ないからといって、必ずしもより近代的であるとは限りません。
GTK を使用するアプリが透過的に DirectFB に移植されない理由は多数あります。Firefox の場合、X を直接使用することがあります。また、ブラウザ プラグイン インターフェイスなどの一部のツールキットに依存しないものは、X を直接使用します。たとえば、Flash プラグインは DirectFB では機能しません。X を直接使用しないアプリでさえ、通常の X ベースのデスクトップ環境 (GNOME など) が存在すると想定することがよくあります。
X の置き換えに関するもう 1 つの問題は、ドライバーのサポートです。より優れたグラフィックス カード (NVidia、ATI) の両方に、無料のドライバーよりもかなり優れた独自のドライバーがあり、これらの独自のドライバーは X に関連付けられています。
もちろん、移行パスもあります。X を使用するアプリが何百もあり、X の明確なエンドユーザーの欠点がない場合、アプリが機能しないものに切り替える人は誰もいません。おそらく、ここでの解決策は、新しいウィンドウ システムで実行されるルートレス X サーバーであるため、古いアプリは引き続き機能します。
古いことは必ずしも悪いことではありません。X は賢い人々によって非常によく設計されており、そのおかげで X は進化し、変化し、何年も経った今でも機能しています。
とにかく長い言い方をすれば、基本的に X から切り替えるのは大変な労力であり、実際に問題なく動作し、「問題なく動作する」というのはどの選択肢にも当てはまりませんでした (少なくとも、ほとんどのアプリを X で実行できるようにしたい場合)。ほとんどのハードウェア)。
X には問題があります - たとえば、Wayland プロジェクトが検討しているアトミック スクリーン アップデートを実行できないなどです - しかし、ほとんどの問題は、ユーザーにとっては表面的なもの (非アトミックなアップデートなど) または開発者にとっては表面的なもの (古い非推奨の拡張機能) です。など)。X を落として、魔法のようにはるかに小さくて速いものを手に入れることができるというのは真実ではありません。それは主に、「古い」および「ネットワークを使用する」は遅くて肥大化しているに違いないと推測する人々に基づいていますが、X は本当にひどいハードウェア用に設計されています。私は 386 で X (および Emacs!) を 8 メガバイトの RAM などで問題なく実行していました。