Arduino медленно рендерит картинку на tft дисплей 1.44 128x128.
- Войдите на сайт для отправки комментариев
Чт, 25/05/2017 - 23:11
Привет всем. Пишу игру танчики на ардуино. Интересует вот какой вопрос. Можно ли как то ускорить отрисовку картинки? Использую библиотеку Adafruit-ST7735-Library. Читал на этом же форумк у соседей, что это связано с низкой производительностью мк. Попробовал переписать код под stm32, он отрисовывать стал быстрее, но всё равно с задержкой. Снял видео по данной проблеме. Может кто то что подскажет? Изначально писал под дисплей nokia 5110, отрисовывало моментально, даже мерцания не было.
Может эта статья поможет или отсюда какие идеи навеяться.
valera0141, для того, чтобы бороться с тормозами, сначала следовало бы понять причину этих тормозов. Например, почему на nokia моментально, а на 1.44 - с тормозами.
Ну и заодно прикинуть конкретные цифры - какова частота смены кадров сейчас и какой хотелось бы добиться.
И подключить дисплей через аппаратный SPI, а не через библиотеку UTFT. Только быстрее всё равно будет ненамного.
ST7735 вроде как разновидность ST7775R, на который у меня есть даташит. У должен быть "прямой" интерфейс в стиле i8080. Подключаете через него и пишете картинко "побайтно" за раз. Только это отожрет не менее 8+3 ноги от камня. Есть столько? Ищите даташит, смотрите в нем "как" это делать..
valera0141, а не надо стирать и заново перерисовывать весь экран ,только маленькие детали которые надо изменить (если это просто квадратик, то подтереть тыльную часть, подрисовать переднюю - вот и быстрое движение).
изображения у вас в виде иконок в памяти для программы, или где микроSD спрятана ? иконки перенести в память команд, и интересно как оно будет если попробовать перенести в массив ОЗУ . и еще попробовать как константами.
можно попробовать еще на esp8266
// yul-i-an дельно предложил, однако на ютубе много проектов показано , искать там game arduino uno , game arduino . к примеру https://youtu.be/sLvgW_zb6bQ
Полключено пока так
slider, обновлять только один тайл, с которым что то произошло, интересный способ. Надо попроьовать. Изображения у меня хранятся в памяти. Делал я их из .bmp через lcd assistant. Ниже пример пары картинок.
DetSimen, можно поподробнее? Или ткните носом, а то не могу толкового материала найти по этому поводу.
valera0141, если мне не изменяет память, аппаратный SPI подключается, если не указывать конструктору MOSI, MISO и SCLK.
Но в любом случае 1 бит на точку и 16-18 бит на точку - разница большая.
Можете ещё подсказать вот что? У меня танк(npc) катается по карте сам, при столкновении со стеной едет в другую сторону. Ниже кусок подсчёта позиции при столкновении.
Но вот только этот код срабатывет не одекватно. Предположим i = 40. Иногда нормально высчитывает число и приравнивает к игроку, а может высчитать так, что прировняет к персонажу позицию на пример 1540236. С чем это может быть связано? На игроке висит точно такая же часть кода и работает одекватно.
Сделал проверку столкновения по другому, теперь норм.