web-dev-qa-db-ja.com

KDEデスクトップエフェクトのOpenGlとXRenderの違いは何ですか?

KDE環境では、デスクトップエフェクトに移動し、[詳細設定]タブに「合成タイプ」という名前のオプションがあり、OpenGlまたはXRendererに設定できます。

  1. これら2つのオプションの違いは何ですか?

  2. 各オプションのユースケースは何ですか?

24
Nejat

OpenGLとXRenderは両方とも、特定の幾何学的変換の適用を可能にする描画APIです。

OpenGLは、専用のグラフィックスプロセッシングユニット(GPU)によって実行される描画操作を対象としており、3Dに見える画像を非常に簡単に生成する多くの機能を提供します(深さバッファー、深度テスト、4×4の同種変換マトリックス)。ただし、OpenGLを使用して2Dのようなグラフィックスを作成することもできます。

XRenderは、X11の拡張機能であり、X11のコア描画機能では実行できないレンダリング(アンチエイリアス、アルファブレンディング)の方法をサポートします。ただし、XRender-APIは2Dに見えるグラフィック用に最適化されています(深度バッファー/テストなし、3×3変換マトリックス)。

XRenderはOpenGLに完全に直交しないことに注意してください。特に、OpenGLでアンチエイリアスが必要な場合は、XRenderのいくつかの関数を使用して有効にする必要があります。

各オプションのユースケースは何ですか?

XRenderのオプションは、適切なOpenGLサポート(安定したドライバーの欠如)はないが、XRender操作の許容できるサポートがないシステムをサポートするためにあります。また、XRenderは、OpenGLよりもセットアップが少し簡単です(プログラマーの観点から)。

一般に、OpenGLは、プログラマーの観点からXRenderよりも柔軟性があります。どちらを選択するかを尋ねる場合:OpenGLで開始し、すべてが適切に機能するかどうかを確認してください。 XRenderオプションは、OpenGLが適切に機能しない場合のフォールバックです(ただし、現在のドライバーではXRenderがOpenGLと大きな部分を共有するか、OpenGLを使用して実際に実装されているため、実用的な違いはありません)。

30
datenwolf