Задать вопрос
  • Процесс вывода кадра из Front buffer на матрицу монитора. Как это работает?

    @krv2k Автор вопроса
    Попытался собрать в кучу инфу, которую нашел, но, возможно, все неправильно понимаю.

    Что происходит после того, как сигнал пришел на монитор:
    1) Сначала данные помещаются в Input buffer (там помещается одна строка).
    2) Дальше развилка
    - Если требуется масштабирование, то скалер переносит данные из Input buffer в Scaler buffer. После обработки строки скалером, ее переносит в Frame buffer видеопроцессор монитора.
    - Если масштабирование не требуется (пришла картинка с родным разрешением), то видеопроцессор монитора переносит данные из Input buffer сразу в Frame buffer.
    3) Если требуется пост-обработка (а обычно требуется), например, корректировка яркости, контрастности и т.п., то они проходят через Line buffer:
    - Этой работой занимаются специализированные схемы обработки изображения (например, цифро-аналоговые преобразователи — DAC).
    - Они помещают строку из Frame buffer в Line buffer
    - Обрабатывают эту строку
    - Возвращают назад в Frame buffer
    4) Все, кадр готов к выводу на матрицу.

    Непосредственно, вывод на матрицу:
    1) Контроллер по своему внутреннему таймеру определяет, что нужно начинать процесс вывода кадра.
    2) Контроллер построчно выводит кадр на экран (Scan out):
    - Из Frame buffer берется одна строка (ScanLine).
    - Эта строка выводится на матрицу.
    3) Далее следует этап VBLANK, длится ~5% общего времени обновления кадра.
    Ответ написан