Hello guys!
i have in a very exciting project using FASTLED, but i’m experimenting some framerate problems compared with Neopixel example.
I’m running 300 SK6812 leds equivalents to WS2812B. It is separately in two groups of 150 pixels using multiplestripin1array setting…
The fastled.show() is very slow compared with neopixel show! but FastLED should be faster.
I’m using FastLED.setMaxRefreshRate(60) and all the tricks, but nothing happen. This is my test program… as you see there, it should take 10 seconds exact (625*16), but it takes aprox 18 seconds … any ideas?
This is my code…
EVERY_N_MILLISECONDS(16) { // 60fps
countFrame++;
r = (countFrame / 625.) * 255 ; // only red fade in
Serial.println(countFrame*16);
if(countFrame > 625)
countFrame=0;
setAll(r, 0, 0, 0);
FastLED.show();
Also, if i put out timer and only the loop, the programa takes 13s to update the strip instead of 10 seconds… it means that is not possible to go at 60fps using 150 leds? Neopixel works at 62fps with same setting!
what is happening here?
Yes! using a rgbw.h struct… but this does not have to affect the performance … I only have 25% more bytes to update. My 150 RGBW leds are equivalent to 200 normal WS2812B.
@Alex_Posada I don’t think Fastled supports rgbw. But I get that the ‘pushing’ should be the same way. I know that fastled does some precalculation but pushing 400leds should be done in at most 75fps.
I don’t know how, but using my timer i estimate that needs around 18ms-20ms and this is too much for only 400 LEDs!!! I measure the time to do 625 frames in the loop and it needs 18 seconds aprox… we can dismiss the rest of the code time… attached is my complete test code!
@Yves_BAZIN this dosnt affect… same result. I think maybe could be a problem of optimization using Zero boards… what you think? i didnt have a lot of time now, but i want to solve this in the next weeks! definitely fastled has to work it’s a great software development …
… for the moment and for this project I’m using neopixel that gives me a framerate of 50-60 fps without problems. It changes a bit depending of animations, math operations, etc…
@Alex_Posada yes indeed because I don’t see anything wrong with your code and you should be able to push 600pixels at 55fps so I don’t know the real reason for it to be so slow.
@Yves_BAZIN ye, it’s really extrange… maybe is the last update for arduino zero…? i can’t try it with other boards now… but i will do. Finally , can you download the files? if not, tell me and i can send you by email or upload to other site…
@Yves_BAZIN how are you? i have some time next days to continue with the research. How you know, i have some Zero Boards that we make to control some strips at same time. But, we are experimenting this issue. Any ideas how to continue? where to find the problem? Do you thing SAMD21 compatibility is 100% tested with last versions of FastLED? can you try this example in one zero compatible board (genuino zero, M0, Feather M0, …)? I think there is an issue with the library and this boards. Thanks!