Синхронизация (передача сигналов)
Синхронизация (передача сигналов)
Синхронизация — процесс установления и поддержания временных соотношений (взятия отсчётов) между двумя и более системами, участвующих в процессе синхронной передачи цифровых данных. При синхронной передаче данных возникают ситуации, когда приёмник и передатчик работают не в такт (частота формирования сигнала в канал связи не совпадает с частотой опроса данных на приёмной стороне), что приводит к рассогласованию системы передачи и приема данных, и к возникновению ошибок в принятых данных. [1] [2] Чтобы в процессе приема-передачи корректировать частоту приёмника в соответствие с передатчиком применяют коррекцию. Коррекция заключается в том, что: зная время начала передачи данных на приемной стороне можно определить время прихода следующего единичного элемента длительностью d, а зная количество элементов в кодовой комбинации можно отделить одну кодовую последовательность от другой. Таким образом, коррекция может протекать как на каждом элементе передачи данных, так и на групповой последовательности. В случае поэлементной синхронизации иногда применяют специальные способы кодирования, например манчестерское или RZ кодирование, иногда применяют скремблирование. [3]
Содержание
Виды синхронизаций сигналов данных [ править | править код ]
Под синхронизацией цифровых сигналов данных понимается процесс при котором происходит установление и поддержание фазовых соотношений между значащими моментами [1] двух или нескольких цифровых сигналов данных, один из которых формируется на передающей стороне, а другой на приёмной с целью формирования синхронной последовательности. [1]
В соответствие с ГОСТ 17657-79, различают виды синхронизации: [1] [4]
- Поэлементная синхронизация цифровых сигналов данных;
- Групповая синхронизация цифровых сигналов данных;
- Цикловая синхронизация цифровых сигналов данных.
Поэлементная синхронизация цифровых сигналов данных [ править | править код ]
Под поэлементной синхронизацией цифровых сигналов данных понимается процесс синхронизации переданного и принятого цифровых сигналов данных, при которой устанавливаются и поддерживаются требуемые фазовые соотношения между значащими моментами переданных и принятых единичных элементов этих сигналов. Для выполнения поэлементной синхронизации иногда применяют канальное кодирование, такое как: RZ, Манчестер-II которые позволяют выявлять синхронную последовательность при передаче каждого элемента сигнала данных. [1]
Групповая синхронизация цифровых сигналов данных [ править | править код ]
Под групповой синхронизацией цифровых сигналов данных понимается процесс синхронизации переданного и принятого цифровых сигналов данных, при которой устанавливаются и поддерживаются требуемые фазовые соотношения между значащими моментами начал переданных и принятых групп единичных элементов этих сигналов. [1]
Цикловая синхронизация цифровых сигналов данных [ править | править код ]
Под цикловой синхронизацией цифровых сигналов данных понимается процесс синхронизации переданного и принятого цифровых сигналов данных, при которой устанавливаются и поддерживаются требуемые фазовые соотношения между значащими моментами начал переданных и принятых циклов их временного объединения. [1]
Что такое вертикальная синхронизация NVIDIA и как её включить
Иногда во время игрового процесса геймерам приходится сталкиваться с таким явлением как тиринг или иначе разрыв кадра. В лучшем случае это проявляется небольшим смещением части изображения, как если бы его разрезали и не слишком аккуратно склеили, в худшем случае картинка дублируется на экране горизонтально, делая игровой процесс невозможным. Проблема возникает, когда видеокарта генерирует кадры с непостоянной скоростью, которая в свою очередь может зависеть от сложности трёхмерных игровых сцен, тогда как монитор выводит кадры с постоянной скоростью.
↑ Что такое вертикальная синхронизация NVIDIA и как её включить
Следствием такого несоответствия скорости становится разрыв кадра, и чем с меньшей частотой способен работать монитор, тем выше вероятность возникновения тиринга. В идеале для профессионального гейминга нужно использовать мониторы с частотой обновления 240 Гц, но это не решает проблему в самой её сути. Как никак, а тиринг является проблемой программной, поэтому решение её так же должно быть программным. Таковым решениям является вертикальная синхронизация (V-Sync), реализованная во всех современных видеокартах.
↑ Что такое вертикальная синхронизация
V-Sync — это технология, предназначенная для синхронизации частоты кадров, генерируемых видеокартой, с частотой развёртки дисплея. Говоря более простым языком, вертикальная синхронизация ограничивает (привязывает) FPS в игре к частоте обновления экрана, что может иметь как свои плюсы, так и свои минусы. Достоинствами применения технологии являются гарантированное устранение разрыва кадров, уменьшение нагрузки на видеокарту, снижение потребления электроэнергии и уровня шума кулеров, недостатками, причём весьма значительными — задержка вывода изображения, а значит и подвисание игры, обуславливаемое уже другим временным расхождением — несоответствием между циклом отображения картинги на мониторе и рендерингом кадра в сложных сценах.
Но если V-Sync имеет столь серьёзные «побочные» эффекты, не лучше ли терпеть тиринг, чем периодические зависания игры? Нет, тут всё зависит от того, в какую игру вы играете. Вертикальная синхронизация отлично показала себя в играх, в которых скорость геймплея не столь важна, как визуализация игровых локаций. А ещё V-Sync с целью увеличения срока службы видеокарты можно включить в старых играх, запускаемых на новых мощных компьютерах.
↑ Как включить вертикальную синхронизацию в настройках NVIDIA
Теперь, когда вы имеете общие представления о вертикальной синхронизации, давайте посмотрим, как её включить в настройках видеокарт от Nvidia. Кликните правой кнопкой мыши по рабочему столу и выберите в контекстном меню «Панель управления NVIDIA». В открывшемся окне настроек зайдите в раздел «Управление параметрами 3D», найдите справа настройку «Вертикальный синхроимпульс» и установите для него значение «Вкл».
Если хотите играть в «быстрые» игры, так или иначе вы окажитесь перед выбором: либо короткие периодические зависания игрового процесса без разрыва кадров, либо отсутствие фризов с тирингом. Впрочем, если ваш монитор поддерживает технологию FreeSync, вы можете попробовать добавить в настройки панели управления NVIDIA G-Sync — новый и более эффективный, чем V-Sync метод синхронизации от Nvidia, при котором и рендерингом кадров, и их выводом на монитор целиком занимается видеокарта.
Что такое синхронизация? Изучаем подробно
Сегодня термин «синхронизация» часто применяется в сфере информационных технологий. Под ней понимается процесс, когда между несколькими копиями данных ликвидируются различия.
Проще всего объяснить это на примере часов и даты — если на смартфоне не было настроено время, то при наличии соединения с интернетом произойдёт синхронизация с сервером и время будет отображаться в соответствии с вашим часовым поясом.
Можно выделить несколько основных типов синхронизации данных:
- синхронизация данных приложения;
- синхронизация данных веб-ресурса;
- синхронизация внутриигровых данных.
Рассмотрим каждый из них по отдельности.
Синхронизация в приложении
Условно информацию в приложении можно разделить на два вида — пользовательская и служебная. Пользовательская информация может быть синхронизирована с облаком, в котором хранится её копия. Например, текстовые файлы Microsoft Word можно поместить в облачное хранилище OneDrive и работать с ними при необходимости.
Служебная информация — это настройки. Некоторые приложения дают возможность сохранить настройки в облачном хранилище и при переустановке программы восстановить их одним кликом. Некоторым приложениям требуется синхронизировать данные в реальном времени, а иным — строго по указанию пользователя.
Изначально синхронизация присутствовала только в приложениях для персональных компьютеров, но с развитием технологий она появилась на мобильных устройствах под управлением iOS, Android и Windows, а также на игровых консолях, «умных» часах и во множестве других изобретений.
В режиме реального времени синхронизация происходит, например, в приложениях-мессенджерах. Если собеседник отправил вам сообщение, то его содержимое сразу же станет видно вам при условии подключения к интернету. В Telegram-канале моментально появляются самые свежие публикации от тех каналов, на которые вы подписаны.
Лучшим примером синхронизации являются современные веб-браузеры. Они способны сохранять историю просмотров, избранные страницы, пароли и некоторые другие данные в облачном хранилище. Благодаря этому после переустановки вы можете совершить процедуру синхронизации с облаком и работать с браузером, как и раньше.
Синхронизация на веб-ресурсе
Распространение интернета сегодня достигло колоссальных масштабов. Большинство жителей России имеет постоянный доступ к глобальной сети и пользуется всеми её благами. Для обеспечения их стабильной работы круглосуточно функционируют дата-центры со множеством серверов.
Процедура синхронизации для веб-ресурса является важной, если он имеет дело с динамичными данными, которые могут постоянно меняться. Некоторые сайты вполне могут обойтись и без синхронизации, если на них размещается какой-то статичный контент.
Для обеспечения синхронизации на сайте присутствует база-данных. В ней хранится множество параметров, на которые способны влиять пользователи. Так, например, если в социальной сети вас заблокировали в сообществе, то вы моментально об этом узнаете, лишившись возможности просматривать стену.
Помимо внутренней синхронизации в рамках ресурса, она может происходить и между несколькими сайтами. Если у вас есть друзья в социальной сети Facebook, то вы можете синхронизироваться с ней и социальная сеть ВК добавит тех из них, кого получится найти.
Внутриигровая синхронизация
Игры сегодня выступают одним из любимых способов проведения досуга у множества людей разных возрастов. Есть оффлайновые игры, которые не требуют подключения к интернету, а есть и те, которые с ним неразрывно связаны.
Например, в многопользовательском шутере игрок осуществляет взаимодействие с несколькими десятками других людей. Игра постоянно синхронизирует состояние игрока с остальными людьми на сервере. Поэтому любые изменения становятся видны всем остальным играющим.
В ММОРПГ статистика хранится на сервере, и при заходе в игру происходит синхронизация. Загружаются данные об игровом уровне, количестве каких-то очков, список друзей и иная информация.
Помимо самих игр, есть также приложения для цифровой дистрибуции — Steam, Origin, Uplay. В них присутствует возможность приобретать лицензионные копии игр, а также есть система достижений и некоторые другие данные. Когда пользователь заходит в свой аккаунт Uplay, то сразу же происходит синхронизация — загружается список игр, имеющиеся достижения, очки, список друзей и иная информация.
Специфический только для игр термин — вертикальная синхронизация. Он связан с частотой кадров, которые за секунду способна отобразить игра. При активации данной функции частота кадров фиксируется на уровне 60 fps и не может преодолеть данное значение.
Таким образом, синхронизация крайне важный процесс, без которого многие обычные вещи были бы недоступны пользователям устройств.
Что такое G-Sync, FreeSync, V-Sync и HDMI VRR? — Разбор
Всех ПК-геймеров планеты Земля, да и консольных игроков тоже, объединяет одна проблема — вертикальные разрывы изображения. И вроде бы есть куча технологий которые решают эту проблему:
- V-Sync,
- G-Sync,
- FreeSync
- А ведь еще есть Adaptive Sync
- А в HDMI 2.1 недавно добавили VRR.
Давайте сегодня раз и навсегда разберемся в технологиях адаптивной синхронизации изображения.
Для тех кто не в курсе. А в чём собственно проблема?
Чтобы изображение появилось на экране, должно произойти, как минимум, две вещи:
- графический процессор должен подготовить кадр и передать его на монитор,
- ваш монитор должен показать этот кадр.
Обычные мониторы работают на частоте 60 Гц, то есть способны выводить 60 кадров в секунду, а игровые на 144 Гц и выше.
А вот графический процессор живет в совершенно ином мире. В играх постоянно всё меняется: колышется листва, журчит ручеёк, враги выпрыгивают из-за угла. Каждый кадр отличается по своей сложности, поэтому на их просчет уходит разное количество времени.
Иными словами, у монитора частота кадров постоянная, а у видеокарты переменная.
Вот и выходит, что за один цикл обновления монитора видеокарта может подготовить больше одного кадра или меньше.
Из-за этого мало того что страдает плавность картинки, так еще и появляются артефакты в виде вертикальных разрывов изображения. Кстати, при просмотре фильмов тоже могут появляться такие артефакты, потому что кино снимают в 24 к/с.
V-Sync
Очевидно проблема требовала решения, и еще на заре компьютерных игр оно появилось! Название у этого решения — вертикальная синхронизация или V-Sync. Наверняка вы встречали такую опцию как в настройках видеокарты, так и в играх.
Работает эта штука достаточно топорно. Фактически она просто принуждает видеокарту выводить кадры с частотой кратной частоте обновления экрана. Например, если у вас монитор 60 Гц, то максимальное количество кадров в секунду тоже будет 60, даже если ваша видеокарта способна на большее. И в общем-то часто такое ограничение вполне уместно, если у видеокарты хватает мощи и нет просадок ниже 60 к/с, но если они есть — начинаются проблемы.
При включенной вертикальной синхронизации, следующее кратное значение — это 30 к/с. Поэтому даже если ваш фреймрейт просел фактически всего на пару кадров, вы всё равно увидите падение до 30 к/с. Такой перепад мало того, что большой и очень визуально ощутимый, так ещё и будет происходить с небольшим лагом. Поэтому если стабильного FPS в 60 к/с или 30 не достичь, то включать V-Sync вообще нет никакого смысла.
Справедливости ради, чем выше герцовка монитора, тем больше мы имеем кратных значений, на которых может работать синхронизация. Поэтому на игровых мониторах V-Sync работает куда лучше.
Но история с кратными значениями — не самая главная проблема технологии. Есть другой неочевидный недостаток: вертикальная синхронизация — увеличивает задержку ввода, то есть создаёт Input Lag.
Игра медленнее реагирует на ваши действия, всё происходит с задержками и как-то плывёт в молоке, поэтому прицелиться становится гораздо сложнее. Почему так происходит?
Это интересно, смотрите! Каждый кадр рассчитывается и выводится на экран через один и тот же конвейер. Упростим его до трёх этапов.
- Каждое ваше действие, например щелчок мышки надо как-то интерпретировать и обновить состояние игры. За это отвечает центральный процессор (синяя полоса на картинке ниже). Центральный процессор подготавливает кадры для графического процессора и помещает их в очередь рендеринга графического процессора.
- Затем графический процессор (зелёная полоса) берет эти подготовленные кадры из очереди и рендерит их.
- Только потом эти кадры выводятся на дисплей (серая полосочка на картинке).
Ну и в чём проблема, спросите вы? Дело в том, что ЦП не берется за подготовку следующего кадра, пока предыдущий не будет выведен на экран. Поэтому ограничивая количество выводимых кадров в угоду синхронизации с дисплеем, мы фактически увеличиваем задержки с которыми обновляется состояние игры! И если в каких-то простеньких играх типа пасьянса такие вещи допустимы, то в соревновательных играх вертикальная синхронизация может стать серьёзной помехой.
G-Sync
Но переживать не стоит, так как решение появилось еще в 2013 году. Именно тогда компания NVIDIA представила свою технологию адаптивной синхронизации — G-Sync. В отличие от старой технологии, G-Sync позволяет подстраивать не видеокарту под частоту обновления монитора, а наоборот заставляет монитор менять свою частоту под видеокарту!
Представляете? Так тоже можно было!
В результате мы получаем потрясающе плавную картинку без вертикальных разрывов и задержки ввода! Просто сказка! G-Sync также работает в огромном диапазоне частот. Изначально это было от 30 до 144 Гц, а сейчас уже есть поддержка до 360 Гц и может даже выше, тут скорее всё зависит от монитора.
А если фреймрейт падает ниже 60 Гц G-Sync умеет дублировать пропущенные кадры.
Получаются сплошные плюсы и проблема решена еще в 2013 году? Так почему же мы до сих пор об этом говорим?
Ну как сказать. Во-первых, эта технология закрытая, соответственно, G-Sync работает только с карточками NVIDIA, но это пол беды.
Все волшебные функции G-Sync стали возможны благодаря специальному чипу, который необходимо встроить в монитор. Естественно, эти чипы производит тоже NVIDIA и стоят они недешево. Поэтому мониторы с поддержкой G-sync в среднем стоят на 250-300$ дороже и таких моделей очень мало. То есть получилась классная, и для 2013 года революционная технология, но не универсальная и дорогая.
VESA Adaptive Sync
Поэтому уже спустя год, в 2014, Ассоциация стандартизации Video Electronics Standards Association или VESA представила открытую технологию Adaptive Sync, которая умеет, в принципе, всё то же самое, что и G-Sync, но без дорогостоящих чипов и работает на частотах от 9 до 240 Гц! Неплохо да?
Но для внедрения технологии нужно, чтобы её поддержку внедрили в прошивку и драйвер монитора, драйвер видеокарты, операционной системы и в игры!
А также необходимо наличие DisplayPort версии не ниже 1.2a, так как технология стала частью именно Display Port. Как видите, чтобы технология взлетела, нужно было проделать много работы. И этой работой занималась компания AMD.
AMD FreeSync
В 2015 году AMD внедрили Adaptive Sync в драйвера своих видеокарт и назвали технологию FreeSync. Реализация от AMD быстро получила очень широкое распространение. Добавить поддержку FreeSync в монитор оказалось настолько дешево, что сейчас сложнее найти игровой монитор без этой фичи, чем с ней.
Но AMD не остановились на просто внедрении стандарта от VESA. Также они добавили поддержку HDMI, начиная с версии 1.4. А в 2017 выпустили FreeSync 2, в который добавилась поддержка HDR и компенсацию низкой частоты кадров, как в G-SYNC.
Кстати, чуть позже, FreeSync 2 переименовали в более элитное FreeSync Premium Pro, а обычный FreeSync для мониторов с частотой 120 Гц и выше стали называть FreeSync Premium. Хотя такие маркетинговые финты я не одобряю, но в остальном сплошной респект AMD за популяризацию стандарта.
Кстати, NVIDIA также в 2017 году добавила поддержку HDR и назвала это всё G-Sync Ultimate.
И вроде бы всё классно, в команде у красных и у зеленых есть по своей шикарной технологии. Но что делать, если у тебя видеокарта от NVIDIA, ты хочешь нормальную поддержку G-Sync, но покупать дорогущий монитор с этой технологией совсем не хочется? Или наоборот — не покупать же Radeon только потому что у тебя монитор с FreeSync?
До недавнего времени выбора не было никакого. Хочешь подешевле и побольше выбор мониторов — покупай Radeon. В другом случае, придется раскошелиться.
G-Sync Compatible
Но в 2019 году NVIDIA пошли навстречу покупателям и добавили поддержку стандарта VESA Adaptive Sync в драйвера для своих видеокарт серии RTX, а также для карточки GTX 1080. А значит теперь можно легко насладиться лучшим из двух миров: взять себе карточку от NVIDIA и монитор с FreeSync по вкусу. Вот только есть проблема. Если на FreeSync мониторе не написано G-Sync Compatible — значит он не был протестирован NVIDIA на совместимость и никаких гарантий, что всё будет работать нормально, вам никто не даёт. А NVIDIA тестирует далеко не все, и далеко не самые доступные модели.
Поэтому инициативу по тестированию в свои руки взяло интернет-сообщество. Они составили табличку с огромным списком протестированных пользователями мониторов.
С мониторами, кажется, разобрались. Но как быть, если хочется поиграть на большом экране телевизора через консоль или ПК. Будет ли работать адаптивная синхронизация? Спешу вас порадовать — будет! При условии что ваш ТВ оснащен портом HDMI версии 2.1, в который добавили технологию переменной частоты обновления VRR — Variable Refresh Rate.
Причём всё будет работать и с видеокартами от NVIDIA и с Radeon. Всё потому, что VRR — это та же самая технология VESA Adaptive Sync, но теперь она стала ещё и частью стандарта HDMI 2.1. Именно таким образом адаптивная синхронизация реализована в консолях нового поколения. А также, вы удивитесь, в Xbox One S и One X. Да, в коробки текущего поколения от Microsoft VRR завезли даже раньше, чем HDMI 2.1.
Итоги
Что, в итоге спустя 6 лет после своего появления, технология Adaptive Sync стала фактически отраслевым стандартом. Захватив видеокарты от AMD и NVIDIA, телевизоры и даже интегрированная графика от Intel в 11-м поколении процессоров теперь поддерживает эту технологию. А это значит, что в светлом будущем мы будем жить без единого разрыва, по крайней мере, вертикального!