Всем привет!
Недавно поставил себе GnuStep и обнаружил интересную вещь:
[WM: KWin, OpenBox, Metacity или др.]
Если у меня есть окно (например Konqueror, Nautilus, OO-Writer или любое другое) и я по этому окну (поверх) провожу другим окном, то на нижнем окне остается мусор, окно перерисовывается, мусор пропадает, но процесс перерисовки заметный.
Если я провожу окном поверх GnuStep-окна, то на GnuStep-окне мусора не остается, оно всегда полностью отрисовано.
[WM: Enlightenment]
Провожу любым окном по любому, мусора нет! Но окна двигаются немного медленно.
Вопросы:
Почему так происходит?
Где можно почитать об окнах и Х'ах на русском?
Как заставить не GnuStep окна работать без мусора?
-----------------------------------
Буду оч. рад Вашим ответам!
-----------------------------------
ликбез по Х ( .... или кто такие окна?)
Модератор: Модераторы разделов
-
- Сообщения: 227
- Статус: UNIX`оид
- ОС: Linux/*BSD
Re: ликбез по Х
Salekh писал(а): ↑24.09.2006 13:26Всем привет!
Недавно поставил себе GnuStep и обнаружил интересную вещь:
[WM: KWin, OpenBox, Metacity или др.]
Если у меня есть окно (например Konqueror, Nautilus, OO-Writer или любое другое) и я по этому окну (поверх) провожу другим окном, то на нижнем окне остается мусор, окно перерисовывается, мусор пропадает, но процесс перерисовки заметный.
Если я провожу окном поверх GnuStep-окна, то на GnuStep-окне мусора не остается, оно всегда полностью отрисовано.
[WM: Enlightenment]
Провожу любым окном по любому, мусора нет! Но окна двигаются немного медленно.
Вопросы:
Почему так происходит?
Где можно почитать об окнах и Х'ах на русском?
Как заставить не GnuStep окна работать без мусора?
-----------------------------------
Буду оч. рад Вашим ответам!
-----------------------------------
Драйвера? Видеокарта? В студию
MaxSelect Mission AWD/Sempron 2600+/ATi Xpress 200M/1G DDR/80G HDD/CRUX 2.5
EeE PC 900/20G/Archlinux/FreeBSD 7.2-RELEASE
Why UNIX? - Just For Fun
EeE PC 900/20G/Archlinux/FreeBSD 7.2-RELEASE
Why UNIX? - Just For Fun
-
- Сообщения: 171
Re: ликбез по Х
video: Trident CyberBlade
driver: Trident
============
Кстати еще наблюдение:
Если Х не Xorg, а XiG Accelerated X, то мусор есть с любым WM, но отрисовка быстрее и на окнах enlightenment нет мусора
driver: Trident
============
Кстати еще наблюдение:
Если Х не Xorg, а XiG Accelerated X, то мусор есть с любым WM, но отрисовка быстрее и на окнах enlightenment нет мусора
-
- Сообщения: 171
Re: ликбез по Х
Вот скриншоты моего рабочего стола
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
KDE окна - "пачкаются" другими
GnuStep окна - нет
А вот картинки на KDE окнах не портятсь (4й скриншот) Почему?
-
- Сообщения: 171
Re: ликбез по Х
Опять размышляю ночами: "А почему оно так сделано?"......
Как показывают дольнейшие исследования:
>1< Xorg/Xfree/Xaccel + WM (kwin,metacity..... , не Enlightenment*) + Приложения KDE/GNOME (ниж. окно)
Если одно окно накрывает другое и приложению нижнего окна сделать STOP (kill -s SIGSTOP) (или просто тормоза). Затем убрать верхнее окно, то на том, что ниже остается мусор (но может не на всем окне). Из чего у меня получился вывод, что Х не хранит у себя картинку окна (композит не в счет), и когда содержимое окна надо восстановить, то Х сообщает ою этом приложению. Но это может быть не для всего окна, например на окне свойств рабочего стола KDE остается картинка (предпросмотр обоев).
На мой взгляд сие является странным т.к. Х - изначально сетевая система и каждый раз гонять по сети (особенно плохой) содержимое всего окна наверное не прикольно (хотя не проверял); к тому же в какойто статье (программерский ман) прочитал, что для уменьшения затрат на отрисовку окна его можно 1 раз нарисовать и спрятать, а затем показывать когда нужно (не рисуя заново), что както не совсем вяжется с вышеописанным.
>2< Xorg/Xfree/Xaccel + WM (kwin,metacity.... и любой Enlightenment) + Приложения GnuStep (ниж. окно)
Если одно окно накрывает другое и приложению нижнего окна сделать STOP (kill -s SIGSTOP) (или просто тормоза). Затем убрать верхнее окно, то......!!!!! Все ОК, окно в норме! Кнопки, конечно не нажимаются, но мусора нет
>3< Xorg/Xfree + WM Enlightenment* + Приложения ЛЮБЫЕ (ниж. окно)
Если одно окно накрывает другое и просто тормоза (STOP не проверял, но мусора вообще ни капли)....... То тоже все ОК. НО! только если Х - Xorg/Xfree, но не Xaccel.
* - Enlightenment E16 определенной версии (не помню) Другие Е16/17 ведут себя как все прочие WM
Из всего выше написанного получается вывод что либо есть какойто атрибут окна (что более вероятно учитывая >3<), определяющий надо или нет Х хранить у себя образ окна, либо разные способы рисования...... и как быть с некоторыми частями окна, которые всегда остаютя?
Кто что знает об устройсте Х?
Почему оно так?
Почему бы всем окнам не делать как GnuStep или всем WM как E16

Как показывают дольнейшие исследования:
>1< Xorg/Xfree/Xaccel + WM (kwin,metacity..... , не Enlightenment*) + Приложения KDE/GNOME (ниж. окно)
Если одно окно накрывает другое и приложению нижнего окна сделать STOP (kill -s SIGSTOP) (или просто тормоза). Затем убрать верхнее окно, то на том, что ниже остается мусор (но может не на всем окне). Из чего у меня получился вывод, что Х не хранит у себя картинку окна (композит не в счет), и когда содержимое окна надо восстановить, то Х сообщает ою этом приложению. Но это может быть не для всего окна, например на окне свойств рабочего стола KDE остается картинка (предпросмотр обоев).
На мой взгляд сие является странным т.к. Х - изначально сетевая система и каждый раз гонять по сети (особенно плохой) содержимое всего окна наверное не прикольно (хотя не проверял); к тому же в какойто статье (программерский ман) прочитал, что для уменьшения затрат на отрисовку окна его можно 1 раз нарисовать и спрятать, а затем показывать когда нужно (не рисуя заново), что както не совсем вяжется с вышеописанным.

>2< Xorg/Xfree/Xaccel + WM (kwin,metacity.... и любой Enlightenment) + Приложения GnuStep (ниж. окно)
Если одно окно накрывает другое и приложению нижнего окна сделать STOP (kill -s SIGSTOP) (или просто тормоза). Затем убрать верхнее окно, то......!!!!! Все ОК, окно в норме! Кнопки, конечно не нажимаются, но мусора нет
>3< Xorg/Xfree + WM Enlightenment* + Приложения ЛЮБЫЕ (ниж. окно)
Если одно окно накрывает другое и просто тормоза (STOP не проверял, но мусора вообще ни капли)....... То тоже все ОК. НО! только если Х - Xorg/Xfree, но не Xaccel.
* - Enlightenment E16 определенной версии (не помню) Другие Е16/17 ведут себя как все прочие WM
Из всего выше написанного получается вывод что либо есть какойто атрибут окна (что более вероятно учитывая >3<), определяющий надо или нет Х хранить у себя образ окна, либо разные способы рисования...... и как быть с некоторыми частями окна, которые всегда остаютя?
Кто что знает об устройсте Х?
Почему оно так?
Почему бы всем окнам не делать как GnuStep или всем WM как E16