Цитата(aaarrr @ Oct 26 2017, 02:40)

В те блаженные времена никто особо не жаловался на отсутствие альфа-канала, скоростной анимации на весь экран и прочих современных must have плюшек.
Цитата(aaarrr @ Oct 26 2017, 04:32)

Вот 480x272, пожалуй, еще как-то можно окучивать STM. А выше забираться я бы не стал.
У меня на экране 800х480х16бит крутится можно сказать анимация почти на весь экран с несколькими слоями прозрачности. Перерисовка всего кадра занимает от 10 до 30мс при одновременном выводе с частотой кадров около 29к/с. Загрузка процессора при этом от 5 до 14% (процессор параллельно занят разными своими делами - вычислениями БПФ, фильтрацией сигнала, обслуживанием подключенных к нему устройств, USB, запись/чтение с SD карты и т.д). Наверное я что-то делаю не так, но меня полностью устраивает в этом плане stm32
Как по мне, то 800х480х16бит без проблем вообще, 1024х600х16бит наверное рубеж, для большего нужно как минимум перейти на 32битную SDRAM либо на другую платформу.
Цитата(Огурцов @ Oct 26 2017, 02:15)

можете привести пример ?
Все просто - в регистр смещения до следующей линии (OOR/BGOR) записываете смещение до следующей точки/штриха от окончания нарисованного элемента, размер по горизонтали устанавливаете равным длине штриха (или в 1 если точки рисуете), кол-во линий (размер по вертикали) равным кол-ву точек/штрихов в линии, вот собственно и все.
Например, линия 3 точки рисуем, потом 5 точек пропускаем, общая длина 80 точек:
Код
int m = 3; //Кол-во точек которые рисуем
int s = 5; //Кол-во точек которые пропускаем
int l = 80; //Длина линии
DMA2D->OOR = s;
DMA2D->NLR = DMA2D_NLR_PL_0 * m + DMA2D_NLR_NL_0 * (l/(m+s));
Остальное инициализируете, как обычно при рисовании, например, прямоугольника. Если нужна прозрачность, то регистр BGOR инициализируете так же, как OOR.
Код
DMA2D->BGOR = s;
Цитата
или какое поле нужно заполнить в структуре DMA2D_InitTypeDef чтобы нарисовать горизонтальную линию точками ?
HALом не пользуюсь, поэтому что там в структурах надо инициализировать не подскажу.