Долгий запуск графических приложений
Добрый день!
Столкнулся с проблемой недостаточной скорости отрисовки приложений.
Есть простое графическое Qt приложение (буквально с десяток кнопок и несколько маленьких картинок). При запуске появляется черное окно и заполняется содержимым только через 2-3 секунды. Во время запуска загрузка ЦП подскакивает до 100%. Стандартные приложения тоже запускаются через пару секунд. Из всего этого я делаю вывод, что у меня тупо не тянет железо. Вопрос: можно ли каким-то образом ускорить запуск приложений? Может быть есть какие-то тонкие настройки драйвера/графической оболочки?
В панели управления -> оформление fly -> эффекты отключил тени и прозрачность, помогло, но совсем немного.
Еще есть идея полностью отключить fly-dm (система встраиваемая и будет крутиться автономное приложение). Поможет ли это и если да, то как это сделать?
Железо: Intel Atom N450 (1.66ГГц) + GMA3150, 1Gb RAM, операционка стоит на SSD
На всякий случай вывод glxinfo -B:
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel Open Source Technology Center (0x8086)
Device: Mesa DRI Intel(R) Pineview M (0xa011)
Version: 18.1.3
Accelerated: yes
Video memory: 384MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 1.4
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Pineview M
OpenGL version string: 1.4 Mesa 18.1.3
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 18.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
Как избавиться от тиринга на драйвере nouveau?
Здравствуйте! Прошу помощи у знающих людей по следующей ситуации.
Являюсь начинающим пользователем, недавно установил Астру CE 2.12.44, ядро 5.10.0-1038.40-hardened, драйвера свободные (карточка NVIDIA GeForce 9500 GT). Заметил присутствие разрывов экрана, особенно заметных при скроллинге в браузере. Не то чтобы прям очень сильных, но мешающих. При включении композит-менеджера с вертикальной синхронизацией (остальные эффекты отключены) проблема решается, но очень сильно растет нагрузка на процессор (C2D E8500), ядра поочередно грузятся процентов на 60, это не устраивает, композит отключил.
Видел информацию по тирингу на wiki Астры (https://wiki.astralinux.ru/pages/viewpage.action?pageId=41193488), но там только по браузерам (пробовал, тиринг уменьшается, но не пропадает) и для графики Intel. Гугление подсказало, что можно составить 20-nouveau.conf с опциями. Чаще всего видел, что туда кладут «GLXVBlank», и хотя «man nouveau» говорит, что опция по умолчанию включена, попробовал составить вот такой файл.
Section «Device»
Identifier «Nvidia Card»
Driver «nouveau»
Option «GLXVBlank» «true»
EndSection
Этот файл пробовал положить туда, куда советуют по форумам (/etc/X11/xorg.conf.d), и по аналогии с файлом для Интел (/usr/share/X11/xorg.conf.d), каждый раз перезагружался, ничего не помогало. Пробовал выставлять «false», добавлять некоторые опции по ману, результата не увидел.
Может ли кто-то указать ошибку в действиях, подсказать какую-то идею/решение? Или нужно просто продолжать перебором искать нужное сочетание настроек? Решение с установкой проприетарных драйверов знаю, но хотел бы избежать этого по возможности.
Медленная прорисовка окон.
Здравствуйте. Установили астру Смоленск 1.6 на рабочую станцию и на сервер. На рабочей станции все работает отлично, а на сервере при открытии любого окна происходит медленная прорисовка, «тиринг». Видяха встроенная — aspeed.
На вики Астра видел две записи. Использовал (статья про использование modesetting при aspeed и статья про настройки файлов theme), ситуация только немного улучшилась, но тиринг все равно остался. Думал проц в энергосбережении, но нет, все нормально (xeon e5 — 2620). Может кто сталкивался, может еще что можно сотворить? Или это все, «алес», так и придется мучаться?
ZUZ
New member
Здравствуйте. Установили астру Смоленск 1.6 на рабочую станцию и на сервер. На рабочей станции все работает отлично, а на сервере при открытии любого окна происходит медленная прорисовка, «тиринг». Видяха встроенная — aspeed.
На вики Астра видел две записи. Использовал (статья про использование modesetting при aspeed и статья про настройки файлов theme), ситуация только немного улучшилась, но тиринг все равно остался. Думал проц в энергосбережении, но нет, все нормально (xeon e5 — 2620). Может кто сталкивался, может еще что можно сотворить? Или это все, «алес», так и придется мучаться?
У меня сейчас похожая ситуация.
Просто нереальный тиринг.
Думал выключена вертикальная синхронизация.
Но нет, она включена. Но, походу, видеокарта/её драйвер неправильно выставляют частоту обновления дисплея (вместо 60 ставит 27 или 48) и по этому такой дикий тиринг (то есть не один/два разрыв при перемещении окна, а до 20).
У меня железо:
AMD FirePro V4800 и 28″ UHD монитор Samsung U28E590D (подключена через DP, вроде как работает FreeSync, но это не точно).
Запустил glxgears и он выдал, что развёртка всего 27 кадров (при разрешении 2560х1440)
После смены разрешения на 1920х1080 выдало уже 48 кадров. Тиринга при перемещении окон стало поменьше, но всё равно в районе десяти разрывов).
PS Если запустить с выключенной привязкой в герцовке, то выдаёт в районе 1470 кадров (строчкой vblank_mode=0 glxgears).
Как включить вертикальную синхронизацию при воспроизведении видео
Как включить вертикальную синхронизацию при воспроизведении видео в яндекс браузере и вообще потому что заметны разрывы кадров без нее.
countmein
New member
Похоже, что пока никак. Какой-то композит-менеджер появится, тогда уж. Раньше был compton, а сейчас его убрали, а вместо ничего не добавили. Picom, типа, стоит, но на деле в этом пакете только документация, а самой программы нет.
Montfer
New member
countmein
New member
Montfer
New member
countmein
New member
Что именно? Исполняемый файл picom отсутствует. Compton был символьной ссылкой на picom. Её, естественно, тоже нет.
Montfer
New member
Что именно? Исполняемый файл picom отсутствует. Compton был символьной ссылкой на picom. Её, естественно, тоже нет.
да, разобрался. я не заметил, что при установке compton удалились fly-all-main и picom. без них вроде как всё работает. единствое, что может при следующих обновлениях выоезти проблема из за отсутствия fly-all-main.
countmein
New member
Я думал, что с fly-all-main вообще весь fly удалится, поэтому не рискнул.
С правильным репозиторием Астры мне удалось собрать picom локально, по этой инструкции, но как-то он странно работает, нестабильно. Самый сильный эффект (что касается vsync) был при первом запуске, а потом такое впечатление, что при каждом запуске всё слабее. Но зато сначала сильно и процессор загружался. В общем, что-то непонятное происходит.
Montfer
New member
fly-all-main — это мета пакет. раньше вроде как удалялась вся графика при его удалении. но, видимо, тут очередной баг
countmein
New member
Тем временем я посмотрел в старой Астре параметры запуска picom (под именем compton), оказались такие:
--unredir-if-possible --refresh-rate 24 --use-ewmh-active-win --xrender-sync-fence --use-damage --glx-no-rebind-pixmap --glx-no-stencil --backend glx --vsync -e 0.84
С ними работает хорошо. Но официальную ветку (yshui) лучше не собирать, т.к. она не знает параметра —refresh-rate. Я сейчас пробую jonaburg. Вообще параметров у picom куча, ещё знать бы что они означают.
Но вылезает проблема, с которой я сталкивался и на старой Астре: большая загрузка процессора процессом kworker — до 60%, если верить выводу top. Тогда я нагуглил, что это связано с видеодрайвером nouveau, и действительно, установка Nvidia решила проблему. Так что, думаю, здесь теперь то же самое.
countmein
New member
После установки Nvidia сборка jonaburg падает с треском, а вот yshui работает нормально, только нужно убрать —refresh-rate. Он, оказывается, deprecated.
countmein
New member
Подытожу свою возню с picom. У меня он хорошо устраняет разрывы при прокрутке, если также сменить видеодрайвер с nouveau на nvidia. С nouveau наблюдаю либо постоянную загрузку процессора до 60% процессом kworker, либо, если отключить vsync и использовать refresh-rate и sw-opti, прокрутку с сильным дребезгом.
sudo apt install nvidia-driver-510
и перезагрузиться. Скрипт из пакета astra-nvidia для этого лучше не использовать — он устарел.
sudo apt install cmake meson git pkg-config asciidoc libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev
Вместо libpcre2-dev, как в инструкции, устанавливается libpcre3-dev, т.к. picom использует более старую библиотеку, а она, как ни странно, в пакете с большим номером.
git clone --recursive https://github.com/yshui/picom
cd meson -Dwith_docs=true --buildtype=release . build ninja -C build sudo ninja -C build install
Meson жалуется, что не нашёл пакет libev, хотя библиотеки присутствуют в /usr/lib/x86_64-linux-gnu. Но это не мешает сборке, т.к., по-видимому, используется найденная библиотека ev (см. src/meson.build).
Исполняемый файл будет лежать по адресу /usr/local/bin/picom. Прописать его в автозагрузку можно без параметров — их удобнее держать в файле конфигурации. Этот файл отслеживается запущенным picom, так что если там менять настройки, то при сохранении файла они подхватываются на лету.
Файл конфигурации (~/.config/picom/picom.conf):
shadow = false fading = false corner-radius = 0 blur-background = false blur-background-frame = false backend = "glx" glx-no-stencil = true glx-no-rebind-pixmap = true use-damage = true xrender-sync-fence = true unredir-if-possible = true use-ewmh-active-win = true vsync = true log-level = "error" log-file = "/home/user/.config/picom/picom.log"
Мне кроме устранения разрывов никакие эффекты не нужны, поэтому постарался всё отключить, чтобы снизить нагрузку. В настройках оформления fly отключил композит-менеджер. Видимо, он теперь встроенный, но какой-то беспонтовый — по крайней мере что касается вертикальной синхронизации. Что включи её там, что выключи — никакого эффекта нет.
intel hd graphics
Подскажите как включить вертикальную синхронизацию (рвуться окна, а в видео горизонтальная полоса рассинхронизации кадров) на intel hd graphics 3000? Ноут samsung 300e7a, ось xubuntu 12.10, ядро 3.5.0.17, стоят драйверы с оф. репа интела и все возможные библиотеки. Буду очень благодарен, ибо копаюсь уже какой день и не могу ничего придумать. ГУЕвого интерфейса к драйверу нет.
В каталоге /usr/share/X11/xorg.conf.d/ создать файл 50- device.conf со следующим содержимым:
Section "Device" Identifier "Card0" Driver "intel" Option "TearFree" "true" Option "AccelMethod" "sna" EndSection
Для видео соответственно нужно:
Можно,если вдруг не поможет, подключить этот ppa и обновить libdrm и xserver-xorg-video-intel оттуда.
Были проблемы с видео через vaapi, которые, как ни странно решились удалением pulseaudio.
Если вдруг TearFree не заработает(ну, вдруг), то просто установи Compiz, он гарантированно решит эту проблему.
Так доустанови compizconfig-settings-manager и включи эти опции.
Сказал же, компиз не помогает. Вручную прописал в файле 50- device.conf, стало только хуже, окна вообще еле двигаются.
Естественно включил. Собственно они и до этого были включены.
Фпс упал ниже некуда, но тиринг пропал, даже окна двигаются медленно, даже очень медленно. Неужели драйвер настолько кривой?
Фпс упал ниже некуда, но тиринг пропал, даже окна двигаются медленно, даже очень медленно. Неужели драйвер настолько кривой?
Это с включенными опциями SNA и TearFree?
Скажите, а в настройках xfce включены эффекты?
Включение композитности
В Xfce есть встроенный композитный менеджер с интересными эффектами окон, тенью, прозрачностью и подобными. Эта возможность может быть включена в настройках эффектов оконного менеджера без перезапуска. Никаких дополнительных настроек в /etc/xorg.conf не требуется.
Для включения нужно перейти сюда:
Меню -> Настройки -> Оконный менеджер -> Эффекты
С этого ppa обновлять libdrm и xserver-xorg-video-intel еще не пробовали? А ядро поставить по-свежее? (это или даже это)
А с компизом что? Тиринг и тормоза при его использовании также присутствуют?
Можно еще попробовать использовать UXA вместо SNA. Для этого в файле 50-device.conf
Но это скорее врядли поможет.