воскресенье, 28 октября 2007 г.

Прозрачность: красиво и удобно

Эта статья начинает цикл статей, в которых я буду сравнивать использование некоторых вещей в Gnome и в KDE.

Прозрачность. Зачем это нужно.

Некоторые приложения, которые я называю "рюшечками", используют прозрачность. Например, kiba-dock, cairo-clock, screenlets. На скриншоте десктоп KDE, внизу панель kiba-dock, в правом верхнем углу прозрачные часы cairo-clock.

Прозрачность в KDE

Когда я впервые установил современный линукс, используя оконную среду KDE, копаясь в настройках я обнаружил, что прозрачность не включена по-умолчанию, и является экспериментальной функцией.

Кроме того, для использования прозрачности в KDE можно включить compiz, тогда штатную прозрачность придётся выключить.

Прозрачность в gnome

В gnome прозрачности изначально нет. Но её можно туда добавить, используя compiz.

Способы реализации прозрачности

Прозрачность может реализовываться двумя способами. Первый вариант - через xorg, т. е. с правами суперпользователя. Второй вариант - используя AIGLX, приложение получает доступ к видеокарте. Но, например, коммерческие драйвера ATI пока не поддерживают AIGLX. Поскольку ATI открыла спецификации, то надеюсь, что скоро появятся нормальные свободные драйвера.

В KDE используется первый способ, что означает, что прозрачность будет нормально работать со всеми видеокартами. Compiz использует второй способ, более прогрессивный, но это означает, что работает эта красота сейчас только с видеокартами NVidia и Intel.

В KDE cairo-clock работает на любых видеокартах.

Недостатки реализации прозрачности в KDE

  1. Артефакты прорисовки окон - изредка при сворачивании окна на рабочем столе остаётся часть изображения из этого окна. При переходе к другому окну артефакт исчезает.
  2. Заметное на глаз замедление прорисовки, из чего видно, что KDE не использует рендеринг видеокарты. Например, если включить прозрачность окна консоли, буквы не сразу появляются при их введении, как при работе с удалённым сервером по узкому каналу.

Мои рекомендации

Ребятам, у которых видеокарта ATI, остаётся использовать прозрачность KDE. Счастливым обладателям видеокарт NVidia настоятельно рекомендую Compiz, и десктоп на свой выбор. Что касается видеокарт Intel, то стабильная поддержка композитного менеджера Compiz началась только с Ubuntu Gutsy, поэтому рекомендую обновиться и тоже использовать Compiz.

В KDE возможны проблемы с использованием compiz, хотя они и решаемы. В gnome подобные проблемы замечены не были, в Ubuntu Gutsy всё работает из коробки.

Комментариев нет: