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

Add impl for embedded_dma::WriteBuffer #21

Merged
merged 1 commit into from
Jul 14, 2023

Conversation

orukusaki
Copy link
Contributor

@orukusaki orukusaki commented Jul 6, 2023

Allows the Framebuf to be used as a DMA WriteTarget.
Why would you want this?
Using DMA makes certain operations much faster. On an rp2040 clearing a [Rgb565; 240*240] buffer via
software takes 2.6ms, but DMA can zero it in 103us.
Copying a buffer while swapping the word order takes 260us with DMA, meaning I don't need the overhead that comes with EndianCorrectedBuffer. I don't have a hard number for this one, as it's very implementation specific, but in my use case I've seen a marked improvement in performance.
There are probably further uses too, such as sprite copying.

Previously only a ReadTarget impl existed

@bernii
Copy link
Owner

bernii commented Jul 14, 2023

that's great! thank you! 🙇

@bernii bernii merged commit 641eb5c into bernii:main Jul 14, 2023
6 checks passed
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

Successfully merging this pull request may close these issues.

2 participants