パススルーとして機能するX Window Server

パススルーとして機能するX Window Server

Xorg(またはすべてのXウィンドウサーバー)がXサーバーの「スタブ」を生成してアプリケーションのAPI呼び出しを受け入れてから、呼び出しを処理し、フレームバッファを更新して作成するのではなく、完全に無視するように設定はありますか?メモリ不足?グラフィックアプリケーション(Firefoxなど)を実行できる必要がありますが、グラフィック出力には大きな関心がなく、レンダリングオーバーヘッドをできるだけ減らしたいと思います。グラフィックのレンダリングによって変更されないWebページのタイミングを取得しようとしています。

または、すべてのXサーバーAPI呼び出しを「ログ」してディスクにダンプしてから、後で再度再生してグラフィックレンダリングからWebタイミングを分離しながら、アプリケーションが見ている内容のスナップショットを作成する方法はありますか? ?異なる時点のスクリーンショット?

答え1

あなたが探しているXvfb。マニュアルから:

   Xvfb  is  an X server that can run on machines with no display hardware
   and no physical input devices.  It emulates a  dumb  framebuffer  using
   virtual memory.

答え2

1996年にこれを行うことができるプログラムがありましたが、最近はdebianから削除されました。リクエストをフィルタリングしてX11サーバーに応答するxmon2つの部分に分けられ、リクエストを抑制できるGUIもありました。何も描かないでください。これはまだ配布されているプログラムのフォークです(要求と応答を追跡するために使用されます)。しかし見つけるためにxmondxmonuixscope源泉今日コンパイルするにはxmon少し狂信的でなければなりません。デバッグするX11のバグがもうないので削除されたようです...

マンスモン:次の図は、xmonとxmonデーモンの関係を示しています。クライアントとサーバーも同様です。

                             ----------
                             | xmonui |
                             ----------
                                 |
                                 v
        ------------         ----------
        | client 1 |<------->|        |
        ------------         |        |       ----------
             :               | xmond  |<----->| server |
             :               |        |       ----------
        ------------         |        |
        | client n |<------->|        |
        ------------         ----------
                                 |
                                 v
                       monitor output to stdout

試してみるもう1つの最適化は、Xvfb深さが1(モノクロ)の非常に小さな画面(64×64ピクセルなど)を作成し、Firefoxウィンドウを画面外に配置して見えないため、レンダリングされる量が多くないようにすることです。

関連情報