xcompmgrには次のオプションがあります。
-s Server-side compositing with hard-edged shadows.
実験では、これが「クライアント」オプションよりはるかに高速であると言えます。ところで、正確に何をしているのでしょうか? Xorgのクライアント側構成とサーバー側構成の違いは何ですか?
そしてもっと重要なのは、ウィンドウマネージャなどでサーバーサイド合成を実装するためにどのXorg機能セットを使用する必要がありますか?
答え1
だからxcompmgrソースコードを見てみると、次のようなものが見つかりました。
-sと-cの主な違いは、合成が行われる方法ではなく、シャドウ効果自体が達成される方法のようです。何が起こっているのかを正確に理解するのは少し難しいですが(グラフィックは私の利点ではありません)、「サーバー側」の影を生成するルーチンはより簡単に見えます。私は、ウィンドウサイズの透明な灰色のビットマップのようなものを作ると思います。ポイントは、より安価なルーチンであるということです。
私が望む機能は「man Xcomposite」にリストされており、X11/extensions/Xcomposite.hにあります。構成マネージャー(または構成WM)には、特にXCompositeRedirectSubwindows()とXCompositeUnredirectSubwindows()が必要です。 (後者はXディスプレイを閉じる前に実行する必要があります。そうしないとセグフォルトが発生します。)