

コンピューティングにおいて、EXAは、 X.Org Server ( X Window Systemも参照)のグラフィックスアクセラレーションアーキテクチャであり、XAA( XFree86アクセラレーションアーキテクチャ)[1]を置き換え、 XRender拡張機能をより使いやすくするために設計されました。XAAを使用するように書かれた古いXFree86ビデオドライバーを適応させるために必要なわずかな変更のみで済みます。これはZack Rusinによって設計され、LinuxTag 2005 [2]で発表され、X.Org Serverバージョン6.9/7.0で初めてリリースされました。
歴史
歴史的に、2D アクセラレーションと 3D アクセラレーションは区別されてきました。2D アクセラレーションは、ビデオ カードの 2D ハードウェア アクセラレーションを X サーバーで利用できるようにした、由緒あるXFree86 アクセラレーション アーキテクチャ(XAA) によって提供されました。
3Dアクセラレーションセットはダイレクトレンダリングマネージャを介して提供され、3Dレンダリングされた画像を2D画像の上にマッピングすることで動作していました。この方法は、一部の例外的なケースでバグが発生しましたが、デスクトップに合成機能が導入されるまでは、ほぼ問題なく動作していました。この区別が、多くのバグやパフォーマンスの問題の原因となってきました。
EXAは、XAAよりもXRenderとの統合性を高め、X.Org Server 2Dのパフォーマンスを向上させるための暫定的な対策として導入されました。実際には、これはいくつかの点で非常に有利であることが証明されましたが、同時にいくつかのコーナーケースやリグレッションも発生しました。
解決策は、2Dグラフィックスと3Dグラフィックスの両方をOpenGLによるハードウェアアクセラレーションに移行し、2Dグラフィックスを3Dレンダリングのサブセットにするというものでした。しかし、残念ながら完全に移行するのはそれほど簡単ではなく、大きな障害もいくつかあります。
EXAは、 Freedesktop.orgの実験的なXserverであるKAA(KDrive Acceleration Architecture)をベースとしています。最初のメーリングリストでの発表[3]によると、その目標は以下のとおりです。
- XRenderを適切に加速する
- できるだけシンプルにしましょう。
多くのXAAドライバはX11R6.9/7.0でEXAサポートを追加しており、現在もさらに多くのドライバにサポートが追加されています。この移行を可能な限り容易にすることは、設計上の重要な考慮事項でした。[4]
UXAはIntelが開発したEXA APIをGraphics Execution Managerを使用して再実装したものです。[5]
Radeonの無料オープンソースデバイスドライバーは、 EXAとGlamorを通じて2Dアクセラレーションをサポートしています。[6]
魅力はこれまでのすべての試みを時代遅れにするはずである。[7]
頭字語
X.Orgのウェブサイト[8]によると、 EXAは「明確な頭字語のないアクセラレーションアーキテクチャ」です。dot.kde.orgでは「Eyecandy Acceleration Architecture」と呼ばれています。[9]ドライバ変更ガイド[4]では「EXcellent Architecture」や「Ex-kaa aXeleration Architecture」などと呼ばれています。
参照
- ダイレクトレンダリングインフラストラクチャ(DRI)
- メサ3D
- EGL
- グラマー
- SNA
参考文献
- ^ 夏のコーディング(Zack Rusinのブログ記事、2005年6月3日)
- ^ アクセラレーションアーキテクチャ(Zack RusinによるLinuxTagの最初のプレゼンテーション)
- ^ 新しいアクセラレーションアーキテクチャ(Xorgメーリングリストでの発表、Zack Rusin、2005年6月25日)
- ^ ab Jesse Barnes (2006-03-09). 「X.OrgビデオドライバにEXAサポートを追加する」. 2010年5月18日閲覧。
- ^ UMAアクセラレーションアーキテクチャ
- ^ 「Radeon 機能マトリックス」。freedesktop.org。
- ^ 「Glamor とは何ですか?」freedesktop.org。
- ^ 「用語集」X.Org Foundation . 2015年4月29日閲覧。
- ^ X.org の新しいアクセラレーションアーキテクチャ (dot.kde.org、2005 年 6 月 28 日)
外部リンク
- ExaStatus(X.Org)
- EXA (Carl Worth の EXA 開発ブログ投稿)