Xレンダリング拡張機能(RenderまたはXRender )は、 X11コアプロトコルの拡張機能であり、 Xサーバーで画像合成を実装し、透過画像を効率的に表示できるようにするものです。
これは2000年にキース・パッカードによって書かれ、 XFree86バージョン4.0.1で初めてリリースされました。そのデザインは、 Plan 9のウィンドウシステムであるrioの影響を受けています。[ 1 ]
X Window System のコア描画プロトコルには、透明なオブジェクトを効率的に描画する方法がありません。コンピュータのディスプレイは個々のピクセルで構成されており、ピクセルは一度に 1 つの色しか表示できません。そのため、透明度は、描画する透明なオブジェクトの色を背景色と混合することによってのみ実現できます (アルファ合成)。しかし、標準の X プロトコルでは単色での描画しか許可されていないため、透明度を実現する唯一の方法は、画面から背景色を取得し、それをオブジェクトの色と混合してから書き戻すことですが、これは非常に非効率的です。[ 2 ]
多くの操作では透明度が必要となるため(例えば、空間アンチエイリアシング、特にフォントのラスタライズ時、およびウィンドウマネージャにおける透明ウィンドウやメニューなどの透明効果)、この制限が問題を引き起こし、それに対処するためにXrenderが実装されました。
複数のレンダリング操作を提供し、アルファブレンディングも行います。2011年現在これは主にアンチエイリアスフォントを実装するために使用されますが、例えばKDEのウィンドウマネージャであるKWinは、OpenGLが利用できない場合にドロップシャドウや半透明を描画するためにこれを使用します。
幾何学的図形は、クライアント側で三角形または台形に分割して描画されます。テキストは、グリフをサーバーに読み込み、グループとしてレンダリングすることで描画されます。
これは、最新のビデオカードの3Dグラフィックス機能を最大限に活用するように設計されています。