После достаточно продолжительного времени работы некоторые приложения начнут зависать при попытке прокрутки. X привязывает ЦП и становится почти полностью не отвечающим (как на ввод, так и на дисплей) до тех пор, пока не завершится перерисовка, что может занять от 10 до 20 секунд или до минуты. (Это займет гораздо больше времени, если я использую колесо мыши, поскольку приложение пытается перерисовать один раз для каждого щелчка колеса.) Не имеет значения, прокручивал ли я только строку с помощью клавиши со стрелкой или до конца документа с помощью клавиши «Конец». Перезапуск Compiz или возврат в Metacity, похоже, решают проблему, поэтому я подозреваю, что это как-то связано. Если я остановлюсь на Compiz, проблема снова появится через некоторое время.
Я заметил это в Firefox, evince и Inkscape, которые, как я считаю, активно используют Каир. Перезапуск Firefox, как правило, решает проблему, но он имеет тенденцию сохраняться при каждом перезапуске. Это может произойти в одном приложении, не происходя ни в одном другом одновременно, или это может произойти в каждом чувствительном приложении, которое я запускаю.
Кажется, что нет никакого разумного образца этого поведения. Я не использую ничего, что должно интенсивно использовать мою видеокарту или процессор. Иногда это происходит через неделю; иногда это происходит в день перезагрузки.
Иногда gVim также перестанет корректно перерисовываться: прокрутка колесом мыши перетянет вновь видимый текст так, как он должен выглядеть, но остается любой старый текст, который теперь должен быть пустым. Перезапуск gVim исправляет это. Я не уверен, если это связано.
Я не уверен, как это диагностировать, и в любом случае сложно проверить решение неустойчивой проблемы.
Ubuntu 9.04 (Jaunty), nVidia 8800 GTS с nvidia-glx-180
. Compiz плагины:
- команды
- Совместимость с Gnome
- ДОБАВИТЬ Помощник
- Улучшенный рабочий стол Zoom
- Непрозрачность, Яркость и Насыщенность (просто чтобы время от времени изменять прозрачность окна с помощью alt-mwheel)
- Настенная стена
- Экспо (не используется)
- Анимации + дополнение
- Исчезающие окна
- Оформление окон
- Шаткие окна
- Окно предварительного просмотра
- Все плагины загрузки изображений
- Обработчик сбоев, Dbus, опрос позиции мыши, управление сессиями, обходные пути
- Изменить размер информации
- Масштаб + Аддоны + Фильтр заголовка окна + Соответствие регулярному выражению
- Проигрывание видео
- Переключатель приложений
- Переместить окно
- Поместите Windows
- Изменить размер окна
- Кольцевой коммутатор (не используется)
- Полка (не используется)
- Защелкивающиеся окна
compiz --version
:
Checking for Xgl: not present.
xset q doesn't reveal the location of the log file. Using fallback /var/log/Xorg.0.log
Detected PCI ID for VGA:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Checking screen 1Comparing resolution (3360x1050) to maximum 3D texture size (8192): Passed.
Checking for Software Rasterizer: Not present.
Checking for nVidia: present.
Checking for FBConfig: present.
Checking for Xgl: not present.
compiz 0.8.2
Какие-нибудь блестящие идеи?