Я просто сделал несколько быстрых расчетов:
На моем MacBook у меня разрешение 2560x1440, умноженное на 24 бита для цветов, мы получаем 11,05 МБ для одного изображения или 663 МБ в секунду при 60 кадрах в секунду .
Я предполагаю, что есть некоторое сжатие, но, например, когда я двигаюсь тремя пальцами по сенсорной панели, это совершенно случайно, что происходит дальше на экране, и почти каждый пиксель изменяется. То же самое, что и при почти любом другом взаимодействии.
Пожалуйста, объясните, если мои расчеты неверны и как эти данные переносятся с моей видеокарты на мой экран? Насколько широки шины между моей видеокартой и экраном? Возможно, объясните в двух словах, как дисплей хранит пиксели? Сдвиговые регистры? Cache?
communication
display
bus
graphics
Феликс Краззолара
источник
источник
Ответы:
Ваши расчеты верны по сути. Для сигнала 1440p60 Гц скорость передачи данных составляет 5,8 Гбит / с, если учесть также время гашения (невидимая граница пикселя на выходе изображения).
Для HDMI / DVI используется кодировка 10 / 8b, что фактически означает, что, хотя, скажем, у вас есть 24-битные данные цвета на пиксель, фактически 30-битная отправляется, поскольку данные кодируются и добавляются контрольные слова протокола. Сжатие вообще не производится, исходные данные отправляются, поэтому вам нужно 7,25 Гбит / с пропускной способности.
Снова глядя на HDMI / DVI. Он использует стандарт сигнализации TDMS для передачи данных. Стандарт HDMI V1.2 требует максимум 4,9 Гбит / с для Single-Link (3 линии последовательной передачи данных + 1 тактовая линия) или, в случае Dual-Link DVI, максимум 9,8 Гбит / с (6 последовательных линий передачи данных, я думаю) ). Таким образом, пропускной способности более чем достаточно для 1440p60 через Dual-Link DVI, но не через HDMI V1.2.
В стандарте HDMI V1.3 (большинство устройств фактически пропускают до V1.4a, который имеет ту же полосу пропускания, что и 1.3), полоса пропускания была удвоена до примерно 10 Гбит / с, что будет поддерживать 1440p60, а также достаточно пропускной способности для UHD на частоте 30 Гц (2160p30).
В качестве другого примера DisplayPort имеет 4 последовательных потока данных, каждый из которых (в V1.1) имеет пропускную способность 2,16 Гбит / с на поток (с учетом кодирования), поэтому с помощью ссылки V1.1 можно легко выполнить 1440p60 со всеми 4 потоками. Они также выпустили новый стандарт, V1.2, который удваивает его до 4,32 Гбит / с с учетом UHD @ 60 Гц. Есть еще более новая версия, которую они продвинули еще дальше до 6,4 Гбит / с .
Изначально эти цифры звучат огромно, но на самом деле не так много, если учесть USB 3.0. Он был выпущен со скоростью передачи данных 5 Гбит / с по одному кабелю (фактически два, один для TX, один для RX, но я отвлекся). PCIe, который в настоящее время используется вашей видеокартой для внутреннего использования, работает на скорости до 8 Гбит / с по одной дифференциальной паре, поэтому неудивительно, что внешние интерфейсы данных догоняют.
Но остается вопрос, как это сделать? Когда вы думаете о VGA, он состоит из отдельных проводов для данных R, G и B, которые отправляются в аналоговом формате. Аналог , как мы знаем, очень чувствительны к шуму, и пропускная способность ЦАП / АЦП также ограничена, так что массово ограничивает то , что вы можете протолкнуть их (сказав , что вы можете едва сделать 1440p60Hz через VGA , если вам повезет).
Однако с современными стандартами мы используем цифровые стандарты, которые намного более защищены от шума (вам нужно различать только высокие или низкие значения, а не каждое значение между ними), а также вы устраняете необходимость преобразования между аналоговым и цифровым.
Кроме того, появление дифференциальных стандартов для односторонних кабелей значительно помогает, поскольку теперь вы сравниваете значение между двумя проводами (+ ve разность = 1, -ve разница = 0), а не сравниваете один провод с некоторым порогом. Это означает, что затухание представляет меньшую проблему, потому что оно одинаково влияет на оба провода и ослабляет до напряжения средней точки - «глаз» (разность напряжений) становится меньше, но вы все равно можете сказать, является ли оно + ve или -ve даже если это только 100 мВ или меньше. Несимметричные сигналы, когда сигнал ослабевает, он может упасть ниже вашего порога и стать неразличимым, даже если он все еще имеет амплитуду 1 В или более.
Используя последовательную связь через параллельную, мы также можем перейти на более высокие скорости передачи данных, потому что проблема перепада перестает быть проблемой. В параллельной шине, скажем, шириной 32 бита, вам необходимо идеально согласовать длину и характеристики распространения 32 кабелей, чтобы сигналы не сдвигались по фазе друг от друга (перекос). В последовательном соединении у вас есть только один кабель, поэтому перекос не может произойти.
TL; DR Данные отправляются на полной битовой скорости, которую вы рассчитали (несколько Гбит / с), без сжатия. Современные методы сигнализации сериализованных цифровых линий связи по дифференциальным парам делают это возможным.
источник
Современные компьютеры удивительно быстрые. Люди с удовольствием загрузят видео в формате Full HD с частотой 30 кадров в секунду, не осознавая, что это включает в себя миллиарды арифметических операций в секунду. Геймеры имеют тенденцию быть немного более осведомленными об этом; GTX 1060 даст вам 4,4 TFLOPS ( триллион операций с плавающей запятой в секунду).
Другой ответ касается много гигабитной природы HDMI, DisplayLink и т. Д.
Сам дисплей, теоретически, не хранит никаких данных изображения.
(Некоторые дисплеи, особенно телевизоры, хранят один или два кадра для обработки изображений. Это увеличивает задержку и непопулярно среди геймеров.)
Графическая подсистема компьютера хранит пиксели в обычной DRAM. Обычно он не перерисовывает весь процесс из процессора в каждом кадре, но передает некоторые функциональные возможности выделенным подсистемам и композитору . Композитор позволит, например, каждое окно на рабочем столе хранить в виде отдельного набора пикселей, которые затем могут перемещаться, прокручиваться или масштабироваться с помощью специального оборудования. Это становится совершенно очевидным при прокрутке на мобильных устройствах - вы можете пойти коротким путем, пока у вас не закончатся «закадровые» предварительно вычисленные пиксели, и программное обеспечение должно остановиться и отрендерить еще немного в буферах компоновщика.
Игры являются перерисовывается каждый кадр, и есть много литературы о том , как строится сцена вверх. Это встроено в кадровый буфер на графической карте, который затем передается, в то время как следующий кадр выводится в другой буфер.
Декодирование видео обычно дается и на специальное оборудование, особенно H.264.
источник
Связь между видеокартой и ЖК-панелью осуществляется по нескольким высокоскоростным дифференциальным парам с использованием сигнализации TMDS , обычно называемой «дорожками». Обычно используются четыре полосы, поэтому можно сказать, что шина имеет 4 бита. Для более подробной информации есть ответ на обмен стека .
Каждая модель ЖК-панели обычно изготавливается с несколькими вариантами интерфейса, поэтому необходимо соблюдать осторожность и смотреть на суффиксы при попытке заменить сломанную панель. Большинство современных цифровых каналов (HDMI 1.4) имеют пропускную способность 10,2 Гбит / с или всего 2,5 Гбит / с на линию. В ваших расчетах (663 Мбит / с) он составляет 1,2 Гбит / с на линию (при условии 4 полосы), что не так уж много (например, SATA3 имеет 6 Гбит / с).
ДОПОЛНЕНИЕ на ЖК-панели. ЖК-дисплей с активной матрицей фактически пытается сохранить изображение кадра (данные пикселей) в конденсаторах, связанных с «витыми нематическими ячейками» (которые управляют поляризацией пленки). Проблема заключается в том, что размер аналоговых колпачков памяти должен быть компромиссом между временем хранения и скоростью переключения пикселей. Таким образом, его нельзя сделать большим, он быстро теряет накопленный потенциал и поэтому требует периодического обновления . Каждая ячейка пикселя связана с линиями данных и адресов через транзистор («активный» элемент), см. Эту статью Tomshardware . Драйвер-контроллер LCD мультиплексирует строки данных и адресов построчно, сохраняя отображаемое изображение. Само изображение хранится в буфере кадров (RAM) внутри графического контроллера.
источник