Вертикальная синхронизация (V-Sync) синхронизирует частоту кадров монитора с кадрами в секунду, генерируемыми вашей видеокартой. Другими словами, если ваш монитор не в состоянии воспроизвести и половину FPS, генерируемых видеокартой, то вы не увидите разницы между 60 FPS и 160 FPS. Учитывая тот факт, что видеокарта не генерирует равное число кадров постоянно и FPS может резко изменяться в зависимости от множества факторов, визуально это выражается в разрывах изображения на экране. V-Sync занижает FPS до возможностей вашего монитора, что в итоге снимает излишнюю нагрузку с видеокарты и визуально картинка на экране выглядит более плавной, без разрывов.
Практически во всех современных играх есть настройка V-Sync, как и в некоторых приложениях. Однако, например, при просмотре HD фильма через браузер меня не оставляют мысли, что я не получаю то качество, за которое плачу.
Современные композитные окружения рабочего стола, такие как KDE или Gnome (при соответствующих настройках и наличии проприетарного драйвера) используют аппаратное ускорения для сглаживания картинки, но не всегда это работает. Дело в том, что на слабом железе V-Sync незначительно, но иногда заметно снижает производительность в некоторых приложениях, использующих OpenGL. Судя по всему в последнее время в nVidia проделали работу по исправлению этой неприятности, однако разработчики Linux дистрибутивов не спешат давать пользователям возможность включить V-Sync в один клик, без тыканья множества галочек и оттачивания навыков использования поисковых систем.
Для карт nVidia есть две опции: «ForceCompositionPipeline = On» и «ForceFullCompositionPipeline = On» для принудительно включения V-Sync для всей системы в целом. По их виду видно, что первая более «щадящая», а вторая более «бескомпромиссная». Вторая не будет работать без первой и какую конфигурацию включить — дело индивидуальное. Мне с моим рабочим столом KDE и картой GTX 1060 только «ForceFullCompositionPipeline» помогло полностью избавиться от «разрывов» в видео.
В терминале введите следующую команду:
nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"Если не помогло, то следом используйте туже команду, но с параметром «ForceFullCompositionPipeline».
Экран погаснет на пару секунд и включится снова. Если не включится, то не стоит паниковать, так как изменения действительны только на протяжении текущей сессии. После перезагрузки компьютера всё вернётся к состоянию «как было».
Если результат вас устраивает, то вы можете захотеть включить данную опцию перманентно. Для этого нужно отредактировать файл /etc/X11/xorg.conf. Для этого воспользуйтесь любым удобным для вас текстовым редактором и с правами root внесите следующие изменения: В секцию «Screen» (Section "Screen") перед строкой «SubSection "Display"» добавьте строку
Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"Уберите из неё запятую и «ForceFullCompositionPipeline=On» если вас устраивает вариант с «ForceCompositionPipeline=On». Должно получиться нечто подобное:
.......
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
SubSection "Display"
Depth 24
EndSubSection
EndSection
.......
Вносите изменения в xorg.conf только в том случае, если понимаете что делаете и если временное включение опции дало ожидаемый результат. В противном случае можно столкнуться с необходимостью восстановления системы без использования X-сервера. Перед внесением изменений сделайте бэкап xorg.conf.
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
___
Tatyana K. По материалам
Tatyana K. По материалам





