EXA - EXA

API-интерфейсы XAA / EXA / UXA / SNA предназначены для драйверов 2D-графики внутри X сервер. Обратите внимание, что современное программное обеспечение использует прямой рендеринг.
Гламур устарел DDX, здесь с XWayland.

В вычисление, EXA это архитектура графического ускорения Сервер X.Org (смотрите также X Window System ), предназначенный для замены XAA ( Архитектура ускорения XFree86 )[1] и сделать XRender расширение более удобное, с небольшими изменениями, необходимыми для адаптации устаревшего XFree86 видеодрайверы, написанные для использования XAA; это было разработано Зак Русин и объявлено на LinuxTag 2005[2] и впервые выпущен с X.Org Server версии 6.9 / 7.0.

История

Исторически сложилось так, что различают 2D и 3D ускорение. 2D-ускорение обеспечивалось маститым Архитектура ускорения XFree86, XAA, что сделало 2D аппаратное ускорение видеокарты доступным для X-сервера.

Набор 3D-ускорения был предоставлен через Менеджер прямого рендеринга, который работал путем наложения 3D-рендеринга изображений поверх 2D-изображения. У этого были некоторые угловые случаи с ошибками, но более или менее работало, пока композитинг вошел в рабочий стол. Это различие стало источником множества ошибок и проблем с производительностью.

EXA был введен как временная мера, чтобы обеспечить лучшую интеграцию с XRender чем XAA, улучшив производительность X.Org Server 2D. На практике, хотя в некоторых отношениях это оказалось довольно выгодным, он также продемонстрировал ряд угловых случаев и регрессов.

Решением стал переход на аппаратное ускорение с OpenGL как для 2D, так и для 3D-графики, причем 2D-графика становится лишь подмножеством 3D-рендеринга. К сожалению, полностью переключиться не так просто и не без серьезных препятствий.

EXA был адаптирован из KAA, KDrive Архитектура ускорения, из экспериментального Freedesktop.org Xserver. Согласно первоначальному объявлению в списке рассылки,[3] цели:

  1. Правильно ускоряйте XRender
  2. Будьте как можно проще.

Многие драйверы XAA имеют добавленную поддержку EXA для X11R6.9 / 7.0, и поддержка продолжает добавляться к большему количеству драйверов. Сделать этот переход как можно более простым было важным соображением при проектировании.[4]

UXA представляет собой повторную реализацию EXA API, разработанного Intel, с использованием Менеджер исполнения графики.[5]

В Бесплатные драйверы для устройств с открытым исходным кодом Radeon поддерживает ускорение 2D через EXA и Гламур.[6]

Гламур предполагается, что все предыдущие попытки устарели.[7]

Акроним

По данным сайта X.Org[8] EXA является «архитектура ускорения без четко определенного акронима». Dot.kde.org назвал это «Архитектура ускорения Eyecandy».[9] Руководство по модификации драйверов[4] называет это «Превосходная архитектура или архитектура Ex-kaa aXeleration или что-то еще».

Смотрите также

Рекомендации

  1. ^ Летнее кодирование В архиве 2005-11-18 на Wayback Machine (Зак Русин блог запись, 3 июня 2005 г.)
  2. ^ Архитектура ускорения (начальная презентация LinuxTag Зака ​​Русина)
  3. ^ Новая архитектура ускорения (объявление в списке рассылки Xorg, Зак Русин, 25 июня 2005 г.)
  4. ^ а б Джесси Барнс (2009-03-09). «Добавление поддержки EXA в ваш видеодрайвер X.Org». Получено 2010-05-18.
  5. ^ Архитектура ускорения UMA
  6. ^ «Матрица характеристик Radeon». freedesktop.org.
  7. ^ "Что такое гламур?". freedesktop.org.
  8. ^ «Глоссарий». Фонд X.Org. Получено 29 апреля 2015.
  9. ^ Новая архитектура ускорения для X.org (dot.kde.org, 28 июня 2005 г.)

внешняя ссылка

  • ExaStatus (X.Org)
  • EXA (Сообщения в блоге о разработке EXA Карла Уорта)