Time to generate image data, no DMA: 0.015962s
Time to generate data, with DMA to framebuffer: 0.048529s. That’s not good.
Total amount of data transferred: one 1080p frame — ~8MB.
Measured average latency of 4*16KB DMA puts: 577µs — ~1000 times slower than expected. Something’s really not right.
…
Oh.
First accesses to memory will be more expensive.
Time to generate and DMA first frame: 0.048529s
Time to generate and DMA second frame: 0.016370s
Time to generate and DMA subsequent frames: 0.015944s — slightly faster than with no DMA.
There’s still plenty of work to be done before it’s functional and interesting, but I may yet hit my goal of 60 fps for this project :)