Добро пожаловать в первую серию моих статей о различных аспектах технологий. Я надеюсь, вы найдете это интересным и полезным.
Многие геймеры склонны неправильно устанавливать vsync (вертикальную синхронизацию) на своих компьютерах, а затем удивляются, почему их игры выглядят неестественно, а не плавно анимируются, разрушая игровой процесс. Я вижу это на технических и игровых форумах все время, с множеством дурных советов, чтобы исправить это, поэтому это руководство направлено на то, чтобы помочь им сделать это правильно и больше наслаждаться их играми.
Это руководство относится ко всем * играм и видеокартам, поскольку все они работают одинаково. Могут быть отдельные ситуации, когда определенные игры и/или видеокарты дают странные результаты, но это только из-за того, что конкретное оборудование и/или программное обеспечение работают не совсем правильно, или производительность системы слишком низкая.
* С последней технологией RTX raytracing от NVIDIA все может немного отличаться, но сейчас это слишком ново, чтобы комментировать, поэтому это руководство явно исключает ее и придерживается растровой графики, т. Е. Каждой игры, существующей прямо сейчас.
Правило одиночных графических процессоров
Это руководство больше предназначено для пользователей с одним графическим процессором, поскольку наличие в вашей системе 2 или (реже сейчас) 3 графических процессоров, как правило, накладывает ограничения на параметры vsync. Также может возникнуть проблема с микростаттером, когда игра выглядит заглохшей, даже если vsync настроен правильно и нет пропущенных кадров. Это вызвано задержками в обмене данными между графическими процессорами по линии SLI или CrossFire. В некоторых случаях может быть невозможно искоренить, что должно быть чертовски неприятно для игрока, который потратил все эти деньги на эти две карты и материнскую плату SLI/CrossFire. Одна из нескольких веских причин для того, чтобы по возможности придерживаться одного мощного графического процессора.
Как работает VSYNC
Чтобы правильно настроить vsync, нужно понимать, что он делает: синхронизировать видеокарту с монитором.
Монитор обновляется с фиксированной частотой, которая обычно является одной из следующих частот: 60 Гц, 100 Гц, 120 Гц или 144 Гц, причем более высокая частота лучше. Таким образом, для получения совершенно плавного, заикания и движения без разрывов, графический процессор должен рисовать новый кадр с той же скоростью, что и при обновлении монитора, и эти кадры должны быть синхронизированы с обновлением монитора, иначе произойдет заикание и разрыв. Чем выше частота обновления монитора, тем быстрее и дороже должен быть компьютер, чтобы обеспечить это, особенно видеокарту, так что давай, новый NVIDIA $ 1200 RTX 2080 Ti !! Нет, я шучу, потрать что-нибудь разумное.
Так как в моей системе установлен NVIDIA GTX 1080, совет, относящийся к конкретной системе, будет относиться к NVIDIA. Пользователи AMD, у вас может быть эквивалентная функция для вашей карты, в некоторых случаях. Посмотрите настройки драйвера или Google для него.
Большинство игроков все еще используют мониторы с фиксированной частотой обновления, но графический процессор видеокарты не создает кадров с фиксированной частотой. Вместо этого частота кадров колеблется повсюду, так как сцены меняются разное количество времени для рисования от момента к моменту, когда сцена меняется. Это создает проблемы с плавностью анимации, и проблема тем хуже, чем ниже частота обновления монитора.
Использование vsync решает эту проблему, но, к сожалению, это не серебряная пуля и имеет компромисс между разрывом, плавностью и задержкой. Это в основном компромисс.
Конечно, ПК не всегда может отображать кадры с частотой, превышающей частоту обновления монитора, причем проблема усугубляется при увеличении частоты обновления монитора и тем дешевле и слабее ПК, особенно видеокарта. Обратите внимание, что даже самый слабый из ПК сможет демонстрировать рабочий стол с частотой 144 Гц или 240 Гц, который прекрасно обновляется, если видеокарта и монитор поддерживают его. Обратите внимание, что дополнительная плавность при высоких частотах обновления также очевидна при перемещении мышью и окном на рабочем столе, так что это тоже дает хорошее улучшение. Это не только для игр.
Разрыв, гладкость и отставание
Что такое разрыв, гладкость и отставание? Разрыв – это когда графический процессор рисует новую сцену в процессе обновления монитора. Результатом является видимый и отвлекающий разрыв в движущемся изображении, который выглядит намного хуже на мониторах с более низкой частотой обновления, см. Скриншот ниже.
Это связано с большей задержкой между циклами обновления. При 60 Гц это составляет 16,7 мс, в то время как при 120 Гц это 8,3 мс и 240 Гц (самая высокая широко распространенная частота обновления) – всего 4,2 мс, что обеспечивает более высокое временное разрешение, поэтому вы можете видеть, как разрыв выглядит хуже при более низких частотах обновления. Вам нужна действительно быстрая (и дорогая) система для управления монитором с частотой 240 Гц без пропуска кадров, и, возможно, все равно может потребоваться сброс настроек качества для достижения этой производительности частоты кадров.
В медленных играх и симуляторах, таких как симуляторы полета и поезда, или в анимированных шахматных играх, любое вносимое отставание не имеет значения, так что просто включите vsync и наслаждайтесь красиво воспроизводимым видео.
Другой хороший вариант – просто включить vsync, даже с дерганным шутером в однопользовательском или онлайн-режимах, особенно если частота обновления монитора составляет 120 Гц или более, и компьютер может воспроизводить игру без пропущенных кадров. Движение будет на удивление сверхтекучим, плавным, с меньшим размытием движения, и при таких частотах обновления дополнительная задержка, введенная vsync, не так уж и плоха, так что попробуйте и посмотрите, как вам это понравится. Вы также можете не обращать внимания на дополнительное отставание на частоте 60 Гц, так что больше мощности для вас.
Пример разрыва экрана с отключенным vsync. Это особенно заметно с рукой справа, но прорезает всю сцену
Как избежать подводных камней
Одно из наиболее популярных заблуждений, которые я вижу на форумах, – это то, что у игрока часто есть монитор с частотой 60 Гц, а затем он использует какую-то стороннюю утилиту, например RivaTuner, чтобы вручную установить максимальную частоту кадров видеокарты, независимую (несинхронизированную) от частоты обновления монитора в заявка на снижение отставания. Поэтому они могут установить его на частоту 58 Гц или 62 Гц при отключенной vsync. Это, мягко говоря, идиотизм, и может быть довольно сложно убедить их в обратном (я действительно, иногда очень старался).
Затем они продолжают жаловаться на то, что в игре все запутанно и раздражительно (маленькие, очень раздражающие паузы или прыжки каждую секунду или около того). Ну да! Короче говоря, польза от задержки сомнительна, а визуальные артефакты серьезны, поэтому никогда не делайте этого и не слушайте тех, кто предлагает вам это сделать. Скорее всего, меня зажигают в комментариях за это. Без разницы.
Компромисс
Теперь, когда мы это прояснили, помните, я сказал, что это компромисс? Это означает, что у вас есть варианты того, как вы установите его, и некоторые эксперименты могут быть в поисках лучшего места.
Что ж, это означает, что вы можете вообще не использовать его и принимать разрывы и заикания в обмен на улучшенную реакцию на задержку. Это того стоит только тогда, когда ПК может отображать кадры намного выше частоты обновления монитора, по крайней мере, в два раза. Это хорошо для шутливых шутеров от первого лица, особенно для онлайн-игр или игр по локальной сети, где подсчитываются миллисекунды и частота обновления монитора составляет 60 Гц. Что бы вы предпочли, красиво снятое запаздывающее видео или выиграть игру, а?
NVIDIA FastSync – функция убийцы
Чтобы обойти этот компромисс, у NVIDIA есть удобная новая версия vsync под названием FastSync (версия AMD, которая появилась позже, называется Enhanced Sync), которую они представили некоторое время назад и работает только с поколением Maxwell и более поздними версиями, то есть с картами серии 9 и выше. , Для меня это немного убийственная функция, так как она пытается дать вам лучшее из всех миров и работает очень хорошо.
Он лучше всего работает с картами, которые имеют много видеопамяти, например 8 ГБ на GTX 1080 или AMD RX Vega 56/64, и которые могут отображаться стабильно быстрее, чем частота обновления монитора (по крайней мере, 3x рекомендуется NVIDIA). Конечно, процессор должен идти в ногу с такой быстрой производительностью рендеринга, иначе может потребоваться обновление, но это для другой статьи.
Панель управления драйвером NVIDIA, показывающая FastSync и другие параметры vsync
В двух словах, это означает, что GPU может свободно вращаться, чтобы он работал как можно быстрее, используя три буфера рендеринга, асинхронно с дисплеем, но отображает только кадр непосредственно перед циклом обновления монитора, отбрасывая остальные. Недостатком является то, что это заставляет видеокарту работать тяжелее, потребляя больше энергии и выбрасывая больше тепла. В зависимости от марки и модели видеокарты также может быть заметная свист катушки.
На практике я обнаружил, что это обычно работает достаточно хорошо, что приводит к быстрым и плавным играм с низким запаздыванием, но на самом деле может привести к заиканиям и сбоям, если они не работают идеально с игрой или ее частями, поэтому попробуйте и увидеть.
Если это похоже на тройную буферизацию, это потому, что так оно и есть. На самом деле это расширенная версия, разработанная для того, чтобы держать лаг до абсолютного минимума. В отличие от тройной буферизации, которая только для OpenGL, она работает и с DirectX.
Обратите внимание, что поскольку FastSync оптимизирован для минимальной задержки, рендеринг не всегда плавный (сами NVIDIA признают, что это может произойти), поэтому, если это проблема, вы можете использовать обычный vsync или AdaptiveSync.
Посмотрите видео с перспективы ПК в конце этой статьи, чтобы получить полное техническое объяснение FastSync и тройной буферизации с участием директора по техническому маркетингу NVIDIA Тома Петерсена, беседующего с Райаном Шроутом.
NVIDIA AdaptiveSync
Также появилась новая версия vsync, представленная NVIDIA, под названием AdaptiveSync.Для этого нужно включить vsync, когда графический процессор способен воспроизводить кадры быстрее, чем частота обновления монитора, но отключает его при медленном рендеринге. Это помогает поддерживать более высокую общую частоту кадров, когда система не успевает за обновлением монитора, но приводит к дрожанию, разрыву и, возможно, сбоям, поскольку графический процессор больше не синхронизируется с монитором.
Это может быть разумным компромиссом, но в этом случае, возможно, лучшим решением может быть снижение частоты обновления монитора до 60 Гц при включенном vsync (обычном или адаптивном), при условии, конечно, что система может управлять по крайней мере такой частотой обновления, как большинство время.
Разрыв происходит над и под монитором Обновить с выключенным VSYNC
Некоторые из вас теперь могут кричать на экран или отчаянно публиковать комментарии, пытаясь недвусмысленно сказать мне, что разрыв не происходит ниже частоты обновления монитора. Ну, это еще одно заблуждение, и оно будет более очевидным при самой низкой частоте обновления монитора 60 Гц. Это выглядит очень очевидно и ужасно, особенно в некоторых играх.
Дело в том, что разрыв происходит выше или ниже частоты обновления монитора и просто означает, что графический процессор начал рисовать новый кадр в процессе сканирования монитора. Фактически, это может выглядеть еще более беспорядочно, когда частота кадров графического процессора низкая.
Точно так же, уродливое, неравномерное заикание/дрожание также может быть очень очевидным, когда графический процессор выполняет рендеринг выше частоты обновления монитора при выключенном vsync. По моему опыту, он хуже всего смотрится на мониторе с частотой 60 Гц и рендерингом на GPU около 61-85 кадров в секунду.
NVIDIA AdaptiveSync (половина частоты обновления)
Это странно, потому что, на первый взгляд, все, что делает AdaptiveSync (половина частоты обновления), – это нарушение плавности движения путем введения постоянного дрожания.
Как следует из названия, графический процессор будет рендерить кадры с частотой обновления монитора вдвое, при условии, что у него достаточно производительности для такого высокого уровня. Это обеспечивает неприятное впечатление, двойное изображение независимо от частоты обновления вашего монитора. Прекрасный.
Я не вижу смысла этого режима в высокопроизводительной системе, кроме как возиться с ним и удивляться, как ужасно он выглядит. Не делайте этого, дети! Дайте мне знать в комментариях, если вы нашли какое-то применение для этого, кроме экспериментов.
Тем не менее, есть применение для ограниченных систем. Его можно использовать для экономии энергии мобильного графического процессора в ноутбуке, работающем от батареи, или в бюджетной системе с низкоуровневой видеокартой, которая не может поддерживать скорость 60 кадров в секунду при настройках достойного качества, но при этом может достигать 30 кадров в секунду при эти настройки. Таким образом, согласованное распределение кадров может быть достигнуто даже в более низкой системе, что приводит к более приятному восприятию.
Фактически, эта техника часто используется в современных консолях поколения, таких как PlayStation 4 и Xbox One (все модели), поскольку они намного слабее, чем большинство ПК. Однако следует заметить, что на значительно более мощном Xbox One X это делается несколько меньше.
Святой Грааль ВСИНЦ: адаптивная синхронизация
Теперь мы подошли к новейшему способу синхронизации частоты кадров GPU и обновления видео – адаптивной синхронизации. В настоящее время это происходит в двух вариантах: фирменный G-SYNC от NVIDIA и открытый стандарт AMD FreeSync. Если у вас есть одна из этих систем, просто включите ее и забудьте об этом, вы получите лучшее из всех миров. Обратите внимание, что монитор должен поддерживать G-SYNC или FreeSync, чтобы это работало. На данный момент нет мониторов, которые поддерживают обе системы, из-за корпоративного соперничества между производителями видеокарт. Это война в классическом формате, и чем быстрее она будет решена, тем лучше.
В этих системах обновление работает наоборот: монитор обновляет/сканирует только тогда, когда графический процессор создал новый кадр, что означает, что частота обновления монитора отражается синхронно с графическим процессором. Это устраняет все разрывы и заикания (в пределах диапазона адаптивной синхронизации), помогает с задержкой и выглядит великолепно. За исключением поддержания чистого 144 Гц или лучше без пропущенных кадров, что может быть непростым делом, это лучшее, что есть, поэтому обязательно используйте его.
Обновление Windows и обновления драйверов
Наконец, независимо от того, установлена ли у вас видеокарта NVIDIA или AMD, лучше оставить Windows полностью исправленной и установить последнюю версию графического драйвера с соответствующих сайтов.
Люди иногда сообщают о патчах или новых драйверах, которые портят их системы, но это гораздо реже, чем вы думаете, поэтому продолжайте и обновляйте. Вы получите плоды повышенной стабильности, безопасности и совместимости с последними играми. Черт, как энтузиаст ПК, у вас есть навыки, чтобы исправить это, если он облажается, верно? Если вам действительно нужно отложить обновление, то постарайтесь не ждать более нескольких дней.
Итак, вот оно, следуйте этому руководству и наслаждайтесь лучшим игровым опытом!
Пожалуйста, дайте нам свои отзывы в комментариях и предложениях для будущих статей.