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

Interlaced frames to improve performance #12

Open
MooseTheGoose opened this issue Mar 5, 2023 · 0 comments
Open

Interlaced frames to improve performance #12

MooseTheGoose opened this issue Mar 5, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@MooseTheGoose
Copy link
Collaborator

MooseTheGoose commented Mar 5, 2023

The Nordic nRF52840 has 32 MHz SPIM interfaces to communicate with the ILI9341 display, which requires us to send 16 (bits per pixel) * 320 (pixels per row) * 240 (rows per screen) bits. This means that, at minimum, updating the entire display takes

((16 * 320 * 240 bits) / (33554432 bps)) = 0.03662 seconds = 36.62 ms.

However, there is a trick called Interlacing that requires us to only update half the screen. There's precedence for it being used in video game consoles as well.

If you look at the links above, you'll see interlacing does not come without its problems, but the performance gains may be worth it, especially because we output video in realtime rather than still images. It would cut down frame update times from 36.62 to 18.31 ms.

@MooseTheGoose MooseTheGoose added the enhancement New feature or request label Mar 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant