О синхронизации кадров

Вертикальная синхронизация, как много в этом словосочетании. За время своего активного интернет существования я множество раз встречал довольно яростные холивары среди геймеров на тему стоит ли включать эту опцию, вопросы что эта чудо-штука делает и влияет ли на производительность (по факту нет, не влияет, но в некотором роде ограничивает). Вот и недавно подобное обсуждение вспыло в одном из местных постов и мной был сделан выбор поподробнее изучить данный вопрос. Да и апгрейд, произведенный недавно, сделал проблему актуальной в личном плане. Ну да хватит пафоса.


Особых технических подробностей, как это все работает, в этом посте не будет. При желании можно просто сходить на википедию. Я же просто дам выжимку по всем основным моментам, недостаткам (ибо идеального алгоритма синхронизации на данный момент просто нет) и что с ними делать. А их, этих моментов, три. Тиринг, инпут лаг и статтеринг.


Тиринг


Если кратко, то это разрыв изображения, когда подготовленный видеокартой кадр не синхронизирован с частотой развертки монитора. Любой геймер так или иначе с ним сталкивался.


Именно на борьбу с этой напастью направлены разные алгоритмы синхронизации.

О синхронизации кадров Вертикальная синхронизация, Игры, Мат, Видео, Длиннопост

Если тебя подобные артефакты изображения не напрягают, то не спеши закрывать пост и дочитай до конца. Не все так просто. Так или иначе полностью от него избавится при любых значениях фпс может только вертикальная, либо быстрая синхронизация. Но остановимся на каждой из них поподробнее.


Вертикальная синхронизация (Vertical sync)


Работает постоянно. Ограничивает фпс разверткой монитора, либо половиной развертки монитора. При 60Hz - это 60 и 30 фпс соответственно (возьмем по умолчанию в дальнейших примерах, как самую популярную герцовку). Устраивает тирингу экстерминатус. Но с двумя важными но. VS добавляет среднего размера инпут лаг при выдаче картой 60 фпс и выше. Для самых маленьких - это дополнительная задержка между действием игрока и откликом экрана на это действие. В простонародии - кисель ебаный. А так же, в случае, если фпс падает ниже развертки монитора, то он либо сразу лочится на 30, либо остается 45-50-57, но с чудовищным инпут лагом. Зависит от игры. Почему? Я так и не нагуглил, ибо ленивая тварь. Видимо, зависит от движка игры или чего-то подобного. При этом на любом адекватном фпс картинка очень плавная и приятная (на сколько могут быть плавными 30 кадров в секунду - это уже другой вопрос, мб даже отдельного поста).


Вывод? Если у тебя фпс стабильно выше развертки монитора, то можно не запариваться и ставить ее.


Адаптивная вертикальная синхронизация (Adaptive V-Sync)


Алгоритм от Nvidia. Есть ли аналог у красных не в курсах, давно с ними дружба прошла. Практически тоже самое, что и обычный VS, но включается только тогда, когда фпс выше развертки. Имеет два режима работы, синхра с полной разверткой, либо с половинкой. Во втором случае залочит фпс на 30. Как следствие, в обычном режиме при просадках фпс дополнительного киселя не будет. Но появится тиринг.

О синхронизации кадров Вертикальная синхронизация, Игры, Мат, Видео, Длиннопост

Вывод? Нормальный вариант, если фпс стабильно выше развертки или с непродолжительными просадками ниже. Хорошо подходит для шутанов и прочих быстрых игор. Если же игра стабильно идет 40-55 кадров, то придется либо терпеть инпут лаг и статтеринг других алгоритмов, либо выбирать половинчатый режим и лочить фпс на стабильные 30, так как на этих значениях VS попросту не работает и все прелести в виде тиринга и статтеринга будут резать глаз.


Быстрая синхронизация (Fast sync)


Новинка от Nvidia. Работает только на максвеллах и паскалях (900 и 1000 серии карт). Лочит фпс на две развертки монитора (120 при 60HZ). Работает на любых значениях кадров. Дает минимальный инпут лаг. Убирает тиринг. И, казалось бы, вот оно - счастье! А хер там плавал. У картинки появляется статтеринг, малозаметный с мышкой и просто ужасный с геймпадом. От него может спасти либо сильный моушен блюр, либо максимум презрения. Чем выше фпс и герцовка, тем меньше статтер, но полностью от него не избавиться. Поэтому ни о какой супер плавности речи и быть не может. И вот тут я выкопал интересный момент. Вроде как у максвеллов такой проблемы нет и страдают сугубо обладатели паскалей.


Вообще замеры по инпут лагам и поглядеть на статтер можно в этом видосе. Статтер на 12:45.

Вывод? Ждем, пока нвидиа все починит (если сможет, ха-ха). Ну или если ты резок, как понос киберспортсмен, играешь на эффективность только на КиМ и чхать хотел на статтер.


И еще пара способов


Можно еще отдельно включить тройную буферизацию (инпут лаг минимальный, но работает с перебоями, по крайней мере у меня) или играть в оконных режимах, в том числе в популярном borderless, оно же окно без рамки. Но они добавят значительный инпут лаг, так же понадобиться поболее VRAM и RAM под нужды других окошек и системы, в то время, как в фуллскрине игра будет жрать все только в себя. Из плюсов - игры можно таскать по разным мониторам, если их много, плавно играть на любом фпс и без проблем альттабаться без подзагрузок и крашей. Хорошо подходит для нетребовательных к скиллу и железу играх.


Кстати, чуть выше я писал, что от синхронизации отказываться не стоит, даже если тебе равнодушен тиринг - при фпс значительно выше развертки опять получится статтеринг, только в пару раз сильнее, чем при фаст синхе, ну и сам тиринг будет адовый. Как говорится: "Фпс дохуя, толку нихуя". Если хочется много фпс - вперед в магазин за 144Hz монитором. К слову, чем выше фпс, тем меньше задержка, так что 300 фпс в кс таки имеют смысл даже на 60Hz экране, емнип, в ней и тройная буферизация отлично справляется со всеми косяками вывода. Но это наблюдение личное, и есть у меня подозрение, что может косячить моя 1060 касательно статтера, как и при фастсинхе. Хотя сомнительно. На 660 VS всегда давал более лучший результат, чем тупо анлокнутый фреймрейт.


Вот хорошее видео со сравнением. Без VS довольно сильный статтеринг.

Ну вот в целом и все, о чем хотелось поведать. Там еще остались хардварные способы синхронизации в виде мониторов с поддержкой G-sync и Freesync, но это бабосы и я уже строчить устал :)



За все технически косяки в посте и за грамматику можете меня обоссать в комментах. Всем чмоки.

Лига Геймеров

44.2K поста88.8K подписчика

Добавить пост

Правила сообщества

Ничто не истинно, все дозволено, кроме политоты, за нее пермач, идите на ютуб
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров



Нельзя:

Попрошайничать;

Рекламировать;

Оскорблять участников сообщества;

Нельзя оценивать Toki Tori ниже чем на 10 баллов из 10;

Выкладывать ваши кулвидосы с только что зареганных акков - пермач