Библиотека Adafruit_GFX и экран HX8352B

blackbird5
Offline
Зарегистрирован: 16.12.2016

Всем привет.

Написал небольшой скетч на базе вышеуказанного экрана и библиотеки.

получил вот что https://youtu.be/0AKp1jTsYsk

Вопрос. Почему так медленно перерисовывается экран? Это нормально или я где-то неправильно написал скетч?

Для отрисовки использовал следующие функции.

setCursor - устанавливаем курсор

fillRect - затираем область в которой будет выводится значение

print -  выводим значение.

Использовал два шрифта. Встроенный и свой самописный (glx)

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А почему Вы решили, что это медленно?

Нам, например, для того, чтобы оценить это, явно недостаточно данных:

- какой протокол обмена?

- ширина шины данных?

- частота, на которой осуществляется обмен?

- глубина цвета экрана?

- объем выводимой информации?

- время необходимое для вывода информации?

Только располагая всеми этими данными, можно заключить, медленно или быстро.

blackbird5
Offline
Зарегистрирован: 16.12.2016

Вот это Вы вопросов набросали... Ответ на большинство - Не знаю )) Купил экран в китае.

Вот распиновка

 // TFT Breakout  -- Arduino UNO
// GND              -- GND
// 3V3               -- 3.3V
// CS                 -- A3
// RS                 -- A2
// WR                -- A1
// RD                 -- A0
// RST                -- RESET
// LED                -- GND
// DB0                -- 8
// DB1                -- 9
// DB2                -- 10
// DB3                -- 11
// DB4                -- 4
// DB5                -- 13
// DB6                -- 6
// DB7                -- 7

Судя по распиновке - ширина шины 8 бит

Как видно из видео - шилдовый для ардуино Уно. К нему шла библиотека. я единственно, что

обновил саму Adafruit_GFX до последней версии и прикрутил вывод кирилицы. Собственно все.

Хорошо. Перефразирую вопрос. Можно ли аналогичную информацию выводить/обновлять быстрее чем в представленном видео? Или уже смириться со этой слоупочностью? )

 
GarryC
Offline
Зарегистрирован: 08.08.2016

У Вас в данном шрифте очень большие знакоместа, а библиотека (скажем мягко) быстродействием не отличается. Поэтому с данной библиотекой, скорее всего, ничего не сделать. А вот если Вы готовы ее слегко допилить, то можно повысить быстродействие в разы - это точно, на порядок - скорее всего.

Я все собираюсь кардинально ее ускорить и все руки не доходят (старшая сетера не разрешает).

blackbird5
Offline
Зарегистрирован: 16.12.2016

Скорее речь идет о скорости отображения некоторой площади экрана. Неважно каким шрифтом заполнять область.

Речь идет о допиливании базовой Adafruit_GFX или о MCUFRIEND_kbv(которая на ее базе и шла вместе с экраном)? В любом случае буду признателен если пнете в нужном направлении.

GarryC
Offline
Зарегистрирован: 08.08.2016

Базовая Adafruit сделана просто из рук вон плохо, достаточно сказать, что она формирует символ на экране по-пиксельно. всякий раз вызывая запись пикселя с пересчетом координат, так что в первую очередь ее. Вторую библиотеку не смотрел, ничего сказать не могу.

Но ускорение базовой вполне возможно, только надо аккуратненько все делать.

blackbird5
Offline
Зарегистрирован: 16.12.2016

Как бы вы сделали ускорение? В каком ее модуле искать вывод символов?

Logik
Offline
Зарегистрирован: 05.08.2014

Судя по впросам, Вам это пока не по зубам.

blackbird5
Offline
Зарегистрирован: 16.12.2016

А можно я сам решу что мне по зубам, а что нет?

Если уважаемый GarryC пнет в нужном направлении, то я попробую решить эту задачу, потому, что слоупочность адафруита напрягает нИпАдеЦки ))). А уважаемого Логика попрошу держать свое мнение при себе. Тем более, такое бестолковое.