KDE. Настройка видео.
Часто в адрес KDE можно услышать упрёки в медленной работе, дёрганой отрисовке. По некоторым причинам действительно может сложиться впечатление, что рабочая среда «ватная», как тяжёлая игра на слабом железе. Эти причины можно разделить на 4 группы: нехватка процессора, нехватка оперативной памяти, медленный накопитель, проблемы с видеодрайвером. Мы начнём с конца – будем настраивать видео.

Избавляемся от тиринга.

Каждый пользователь компьютера сталкивался с горизонтальными разрывами движущейся картинки. Проблема тиринга волнует пользователей всех ОС, и производители видеокарт создают целые технологии, чтобы от неё избавиться: G-SYNC от Nvidia, FreeSync от AMD. В Linux тиринг особенно ярко проявляется на Nvidia, но его можно легко свести до незаметного минимума.

Прежде всего, уберём тиринг для OpenGL-приложений – игр, видеоплеееров, и других программ, которые используют аппаратную отрисовку. Для этого нужно открыть настройки драйвера Nvidia, перейти на пункт «OpenGL Settings» и установить две галочки:

Избавляемся от тиринга

VBlank это вертикальная синхронизация – универсальное оружие против тиринга. Flipping – смена буферов, в которых лежат соседние кадры, вместо копирования кадра из одного буфера в другой. Это повышает скорость отрисовки и опять же убирает тиринг.

Для надёжности, включим flipping на системном уровне – добавим кое-какие строки в конфигурационный файл видеодрайвера. Сделаем для этого отдельный файл, чтобы в случае чего можно было деактивировать свои правки, просто удалив его:

sudo touch /etc/X11/xorg.conf.d/05-my-nvidia-options.conf
 
sudo kwrite /etc/X11/xorg.conf.d/05-my-nvidia-options.conf

В файл нужно добавить такие строки:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option         "NoFlip" "FALSE"
EndSection

И не забыть сохранить изменения. Теперь можно перейти к настройке оконного менеджера KWin. Открываем «Параметры системы», кликаем по модулю «Экран», переходим на вкладку «Обеспечение эффектов». Выделенный на скриншоте параметр нужно установить в значение «Полная перерисовка»:

Избавляемся от тиринга

После перезагрузки системы тиринг больше не должен вас беспокоить. Теперь займёмся плавностью отрисовки, чтобы анимации и любые движения на экране не были такими дёргаными.

Повышаем плавность анимаций.

Придётся начать снова с настройки видеодрайвера. Откроем наш новый конфигурационный файл:

sudo kwrite /etc/X11/xorg.conf.d/05-my-nvidia-options.conf

И между строкой с последней опцией и строкой EndSection добавляем опцию, которая включает тройную буферизацию. В итоге файл будет выглядеть так:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option         "NoFlip" "FALSE"
    Option         "TripleBuffer" "TRUE"
EndSection

Сохраняем изменения в файле. К сожалению, этого недостаточно для нужного эффекта – KWin по умолчанию не использует тройную буферизацию, так что для него эту опцию нужно включать отдельно. Нам снова придётся править файл, но уже другой:

kwrite ~/.bashrc

Файл может называться иначе – например, bash_profile. В самый конец файла, после всего, что там написано, нужно добавить такую строку:

export KWIN_TRIPLE_BUFFER=1

После всего этого нужно перезагрузить систему.

Чтобы оценить плавность отрисовки, можно сделать анимацию медленной, сдвинув ползунок вправо:

Повышаем плавность анимаций

Тогда все рывки, если они есть, будут бросаться в глаза.

Есть ещё небольшая хитрость с отрисовкой ресайза окон. Изменение размера окна – довольно тяжёлая операция, если в окне много элементов. Например, окно Dolphin при ресайзе стабильно подтормаживает. Чтобы избавиться от раздражающих лагов, можно включить один из эффектов KWin. Открываем «Параметры системы», модуль «Поведение рабочей среды», вкладку «Эффекты». Находим в списке «Изменение размера окна» и устанавливаем галочку:

Повышаем плавность анимаций

Выглядит эффект таким вот образом. Бурая область – это первоначальный размер окна, а новые габариты окна обозначены текстурой с содержимым окна.

Повышаем плавность анимаций

Ресайз этой текстуры – тривиальная для видеокарты задача, поэтому никаких подтормаживаний вы больше не увидите.


Комментарии отключены