yuri91 / ili9341-rs

A WIP, no_std, generic driver for the ILI9341 (and ILI9340C) TFT LCD display
Apache License 2.0
58 stars 50 forks source link

buffer contiguous pixels before sending to dislay for speed boost #6

Closed flaminggoat closed 4 years ago

flaminggoat commented 4 years ago

I've tested this with an stm32f429 discovery board, it seems to give a significant drawing speed increase.

I've not done much rust so if this could be structured better please give suggestions.

yuri91 commented 4 years ago

Hi! thanks for the PR!

I also wanted to implement something like this.

I would also like to take advantage of the SizedDrawing trait somehow.

During the holidays I won't have access to my device, and I would like to test this a bit in different scenarios, so I won't accept it right away.

jamwaffles commented 4 years ago

On mobile so excuse the brevity! SizedDrawing is removed in e-g 0.6 ( currently in alpha) so I wouldn’t implement something based on it. There’s some code in https://crates.io/crates/ssd1306 that allows the driver to only update a given bounding rect which might be of some inspiration. I’d suggest going with a custom implementation in drivers to influence the design before we commit to a trait in Embedded Graphics.

yuri91 commented 4 years ago

Oh thanks for letting me know!

I am really not in sync with the current state of embedded-graphics, but I would like to resume working on this crate at some point (I see that there is interest in it, and I may have some uses for it myself with all the good embedded-graphics stuff!).

Suggestions, issues and PR are always welcome!

yuri91 commented 4 years ago

Sorry that it took me a long time. Could not get my hands on my board!

Thanks again!