StefanPetrick
Well-known member
Teensy 4: I noticed that at 800 fps on 256 LEDs (driven at 12 MHz with FastLED) I spend up to 20% of the time waiting for FastLED.show() to finish. This surprised me.
Not sure if this is the expected behaviour considering that FastLED uses hardware SPI if possible. I used pin 11+13. I would expect the LED update to happen fully in the background while I have almost 100% of the loop time available for rendering new data.
My question is: Did anyone use FlexIO DMA for the LED SPI transfer?
Is my assumption correct that this should be the best way on a Teensy 4 to free as much CPU time as possible? If so does it require then this double buffering like SmartMatrix does it (one buffer gets filled while the previous frame in the other buffer gets written out, then buffer swap)?
I'm happy for any hint what I should consider, look into or failed to understand yet.
Not sure if this is the expected behaviour considering that FastLED uses hardware SPI if possible. I used pin 11+13. I would expect the LED update to happen fully in the background while I have almost 100% of the loop time available for rendering new data.
My question is: Did anyone use FlexIO DMA for the LED SPI transfer?
Is my assumption correct that this should be the best way on a Teensy 4 to free as much CPU time as possible? If so does it require then this double buffering like SmartMatrix does it (one buffer gets filled while the previous frame in the other buffer gets written out, then buffer swap)?
I'm happy for any hint what I should consider, look into or failed to understand yet.
Last edited: