jcxz 184 23 апреля, 2017 Опубликовано 23 апреля, 2017 · Жалоба Это формат L4 (с точки зрения STM ;)) Ясно. Спасибо ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 23 апреля, 2017 Опубликовано 23 апреля, 2017 · Жалоба Второй косяк - DMA2D блендер должен дополнительно работать с цветом фона А с чем работает DMA2D блендер? в нынешнем виде background alpha фактически бесполезная штука. Можете объяснить как работает background alpha в нынешнем виде? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rash 0 23 апреля, 2017 Опубликовано 23 апреля, 2017 · Жалоба А кто-нибудь менял функции или добавлял функционал использование DMA2D в стандартном драйвере от ST при использовании emWin? Сам emWin работает нормально, то, что не нормально научился подправлять. Единственное, что не устраивает - это при масштабировании больших окон или их перетаскивании, изображение лагает, т.е. заметны перерисовки определённых кусочков виджетов. В кишки его пока сильно не лез, но есть предположение, что он где то на ожидании флагов подвязан. Разрешение 800х480, RGB565, плата 429Discovey, SDRAM по 16-битной шине, тактовая CPU 168МГц. Стек GUI также лежит в SDRAM. Сейчас в проекте плата с SDRAM по 32-битной шине, думаю раза в 1.5. должно поднять производительность. Ещё вопрос, тактирование экрана LTDC лучше сторону уменьшения частоты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 23 апреля, 2017 Опубликовано 23 апреля, 2017 (изменено) · Жалоба А с чем работает DMA2D блендер? Блендер накладывает два полноценных слоя - передний план и фон. Если к двум полноценным слоям добавить еще один фоновый со сплошной заливкой (так, как это сделано в LTDC), то background_alpha станет реально полезной фичей. Можете объяснить как работает background alpha в нынешнем виде? А он практически никак не работает. Смотрите сами - слои комбинируются по формулам из раздела 9.3.6. Если формулы преобразовать и немного изменить (принять, что 0 <= alpha <= 1.0), то основная формула примет такой вид: Cout = (Cfg * Afg + Cbg*Abg*(1.0 - Afg)) / (Afg + Abg*(1 - Afg)) Нетрудно заметить, что при полностью прозрачном переднем плане (Afg = 0) формула становится такой: Cout = Cbg*Abg / Abg = Cbg Т.е. Abg (прозрачность фона) никак эту прозрачность не изменяет :laughing: (за исключением Abg=0, в этом случае Cbg = 255) . Для промежуточных значений Afg, Abg оказывает влияние на конечное изображение, но совсем не так, как ожидается. Найти какое-либо полезное применение для Abg я у себя найти не смог. Ещё вопрос, тактирование экрана LTDC лучше сторону уменьшения частоты? Лучше для чего? Анимации нормально выглядеть начинают от 20..25к/с, при дальнейшем повышении я никакой разницы не замечал (может на другом контенте потребуется и больше, хотя в кино вроде всем хватает). В общем случае, чем выше частота LTDC, тем больше пропускной способности SDRAM он "отъедает", как результат производительность падает. Т.е. оптимально выбирать минимально достаточную для нормальной работы TFT и нормального вида анимированных элементов (если они есть). По поводу emWin и прочего подсказать не могу - у меня все самописное. Изменено 23 апреля, 2017 пользователем Шаманъ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться