Нуу, раньше, когда были кинескопы, надо было управлять развёрткой, а для этого нужны были высокочастотные детали, и это было проблемой.
Для формирования изображения нужна видеопамять и раньше её столько не было, сколько сейчас есть.
На текущий момент есть три типа видеосистем:
1) с видеоадаптером интегрированным на материнскую плату компьютера
2) с отдельной видеокартой
3) с видеопроцессором прямо на кристалле основного процессора
для того, чтобы писать программы для этих видеопроцессоров, нужно знать наборы их инструкций и архитектуру.
ну и терминологию (например слова вроде "шейдер")
Основные производители - Intel, Amd, NVidia,
и с документированием у них у всех надо разбираться. Мне кажется, что
наиболее открыта документация на продукты Amd
а будущее за Intel (в связи с массовостью).
Учить не хочется ни то ни другое, а API для OS надо делать. VESA-то давно и полностью морально устарела.
Для меня, например, является загадкой как происходит синхронизация между основными ядрами ЦПУ и ядрами видеопроцессора.
Особенно весело, когда видеопроцессоров несколько, а монитор один, и рендерить в один буффер они могут параллельно
(т.е. надо синхронизировать не только несколько ядер CPU, но и несколько процессоров GPU, загрузку шейдеров и их работу)