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.
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