基本的なハードウェア アクセラレーション ウィンドウ マネージャーを作成したいので、開始方法に関するドキュメントを探していましたが、古いバージョンの Clutter を使用しており、このチュートリアルを見つけることができませんでした。現在利用可能な任意のバージョンでビルドします。これを行う方法についての他の良いリソースはありますか、それとも、ソースを確認するための本当に必要最小限の WM 合成ですか?
3085 次
2 に答える
9
あなたの質問には2つの部分があります:1)WMの書き方2)コンポジットマネージャーの書き方
(xcompmgrソースに加えて)パート2を理解するのに役立ついくつかのリンク:
- http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/(Qtを使用しますが、非常に一般的で低レベルです)
- https://github.com/gustavosbarreto/compmgr
- http://projects.mini-dweeb.org/projects/unagi
ウィンドウマネージャー、「パート1」:
- 私はJavaScriptで単純な〜100 loc wmを持っています:https ://github.com/sidorares/node-x11/blob/master/examples/windowmanager/wm.js
- 別のミニマリストwm(C)、参照として開始するのが良い:https ://code.google.com/p/winmalist/
- 最も重要なキーワード:
SubstructureRedirect
イベントマスク。ここに少しのドキュメント
于 2012-11-12T06:03:12.187 に答える
4
元のデモ合成マネージャーはxcompmgrでした。これは、基盤となるX拡張機能を理解するために推奨します。
OpenGLを使用してハードウェアアクセラレーションによるレンダリングを行う場合は、EXT_texture_from_pixmap
ウィンドウの内容がユーザースペースを介してコピーされないように、拡張機能を確認する必要があります。この拡張機能を使用すると、代わりにこれらのコピーにハードウェアアクセラレーションによるブリットを使用できます。
垂直リトレースに同期されたティアフリーレンダリングを可能にする_NET_WM_SYNC_REQUESTの仕様にもおそらく興味があるでしょう。
于 2012-11-07T01:34:03.380 に答える