According to this page https://github.com/FastLED/FastLED/wiki/Parallel-Output
The Teensy3.1 with FastLED parallel output is slower than when using the Octows2811. The Octo is just a 74HCT245 buffer. Right?
Why would the parallel output without the Octows2811 be faster than without?
512 leds on 8 pins, w/FastLED3.1 parallel output: 1900µs or 526fps max
512 leds on 8 pins, w/FastLED3.1 feeding OctoWS2811: 500µs or 2000fps max
I understand that I’ll have to use a level translator to pump the 3.3V up to 5V to drive the WS2812 strips.
OctoWS2811 is much more than just a buffer chip. It’s software that uses the DMA controller to move data automatically from memory to the LED parallel output. While the DMA does the data moving, you get to fully use the CPU to draw the next frame. With normal parallel output, the CPU stays busy moving the data, so you don’t get to use the CPU to begin computing the next frame until after the prior frame is completely transmitted. The actual update of LEDs takes the same amount of time, but the huge difference is control returns to your program and you get to use the CPU while the DMA controller is still sending the data to the LEDs.
Either of these parallel output techniques is probably overkill for such a small 512 LED project. There’s no point to 500 frames/sec speed, since the WS2812 uses approx 450 Hz PWM internally. In fact, very fast update rates at or above its PWM speed can cause the WS2812 to display wrong colors. Regular update rates like 30 or 60 Hz work very well, and allow the PWM to drive several cycles between each change.
Ah. OK. It’s the combination then that makes it so powerful. My project is going to be 8 (possibly 16) 7 foot long strips, but I need to drive them all from one end. So the parallel output method would be the easiest to connect. It’ll be a 2D array. I don’t need any where near 400 frames/sec. 30-60 would be fine. So with or without the OctoWS2811 I can use parallel output.