0

現在、オフスクリーン レンダリングに OSMesa を使用しています。Linux (RHEL) コマンドライン インターフェイスで実行しています。これは非常にうまく機能しますが、レンダリングには多くの時間がかかります。基本的に、opengl アニメーションをオフスクリーンで実行し、その場でフレームをキャプチャし、ffmpeg を使用してビデオを作成します。そこで私の質問は、レンダリング プロセスを高速化するためにオフスクリーン レンダリングに GPU を使用できるかどうかです。FBOを使用できることは知っていますが、Linux CLIのために持っていないウィンドウサポートが必要だと思います。要するに、私の場合、FBOを使用する方法はありますか、それともレンダリングプロセスを高速化するための最良の解決策は何ですか?

4

1 に答える 1

1

そこで私の質問は、レンダリング プロセスを高速化するためにオフスクリーン レンダリングに GPU を使用できるかどうかです。

原則としてはい、しかしこれまでのところ、それを行う方法に関する標準 API は確立されていません。NVidia GPU を使用している場合は、Nvidia 独自のドライバーでヘッドレス EGL を使用できます: https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/

Kernel DRM と Mesa OpenGL ドライバーを使用すると、ディスプレイ サーバーなしで単一のプロセスで GPU を構成および操作できます。「kmscube」というデモがあります。これを GitHub にフォークして、いくつかの小さな変更を加えました: https://github.com/datenwolf/kmscube現在の状態では、kmscube は画面に描画されますが、可能なはずです。完全なオフスクリーン レンダリングが得られるようにコネクタの選択を変更します。

また、Wayland インフラストラクチャ全体は、レンダリング先の任意のフレームバッファーをクライアントに提供し、それをコンポジターが結合する可能性を中心にしています。そのため、Wayland コンポジターがオフスクリーン フレームバッファーを Wayland クライアントが使用するためにどのように割り当てるかを見ることも検討する価値があります。

于 2016-07-24T09:13:19.643 に答える