Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interface trait is too limited #164

Open
ost-ing opened this issue Jan 17, 2025 · 1 comment
Open

Interface trait is too limited #164

ost-ing opened this issue Jan 17, 2025 · 1 comment

Comments

@ost-ing
Copy link

ost-ing commented Jan 17, 2025

Hello,

The Interface trait doesn't really allow much flexibility with custom strategies, or experimentation, for example its hard to know the pixel position that would be written (without extracting this from the send_command function).

In other display implementations, there is an additional layer for custom caching and optimization strategies, for example the ssd1306 https://github.com/rust-embedded-community/ssd1306 has a BufferedGraphics Mode.

I'm interested in implementing some kind of Dirty Rectangle method for selective clearing of the screen, because at the moment clearing the entire screen on an stm32f4 at 42MHz, greatly reduces the FPS and introduces flicker.

@rfuest
Copy link
Collaborator

rfuest commented Jan 17, 2025

The Interface trait is the wrong layer of abstraction for what you are trying to implement. You can uses something like a embedded-graphics Framebuffer to prepare a larger buffer, which you can then send as one update to the display.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants