Hi,
I’m playing around with FastLED’s parallel output.
I ran the OctoWS2811Demo on my Teensy 3.2 and added some code to print the fps.
I got a steady 500fps.
The documentation in the wiki says it possible to get to 2000fps.
Am I missing anything with my experiment?
There’s a limiter in place because WS2812’s get very upset when you update them more than 400-500 times/second.
@Daniel_Garcia I noticed the limiter when I was running without the OctoWS2811. When I was running with it on a smaller array (30 leds), I got a reading of 1040 fps.
When I was running it with 210 leds per strip I got 156fps.
Since this is just about 3 times more leds than the example, I was expecting around 600fps (2000fps/(210/64)).
I can add a code sample if this isn’t clear.
Ah - weird - I should fix that - the OctoWS2811 driver should absolutely have an FPS limit on it 
And actually - can you upload the code you’re using, I want to see the specifics of how you’re driving it.
That said - with 30 leds per strip, you were getting 1040fps - with 210 leds per strip (7 times the number of leds) you’re getting 156fps, which is just about 1/7th the frame rate (which makes sense, you’re sending 7 times as much data 
Writing WS2812 data takes about 30µs per led - so you can get a rough estimate of the time to write out a frame in parallel by taking the length of the longest strip, and multiplying it by 30µs (so, 210 leds would be 6300µs, or 6.3ms). Since there’s 1000000µs in a second, if it takes 6300µs to write a frame then you can do that at most 158 times/second 
The code is super simple, just like in the demo example: https://gist.github.com/davidbrai/78333a62b3743214407e
So what you’re saying is that the number I get make sense, then maybe the wiki page should be updated? The last line here: https://github.com/FastLED/FastLED/wiki/Parallel-Output
I was hoping the achieve the speed gains you described in the last paragraph there.
Ah - I should clarify - that is CPU time for the frame, not led writing time - to prep the data for OctoWS2811 takes only 500us of cpu time, and then the data is written to the LEDs using DMA in the background (aka not taking up any more cpu time).
However, to write out that 512 LEDs worth of data is 2ms of time - so you could, in theory, push 2000 frames per second but only every fourth frame would be written (if I set it up so that if you called show while DMA was still writing out data rather than having it wait for dma to finish before writing out the next frame).
That last line is mostly to show how little CPU time is spent prepping each frame to be written out - however the write time for ws2812’s by DMA is fairly firmly fixed (30us per led) so no matter how fast you prep the data, you’re going to be limited to a maximum of approximately 33,333 rgb led updates per second (divide that by the length of a strip for octows2811 to get your max Fps - which comes back to 158fps).
Unfortunately, you can’t cheat the math. You could go with 16 way output, in theory, which would allow you to push up to about 300fps.
(And really, if you want over 400fps you can’t use ws2812’s - switch to apa102’s which have a higher max theoretical refresh rate - though, again it will come down to math).