StefanPetrick / animartrix

High fidelity & high-res LED animations for microcontrollers with hardware FPU (Teensy 4.x, 3.5, 3.6 & ESP32 S3)
https://www.youtube.com/@stefanpetrick
51 stars 8 forks source link

Slow rendering with 128x96 pixels #25

Open ssaenger opened 1 month ago

ssaenger commented 1 month ago

Great animations.

Have you tried running with a large panel before? It looks great (some only render a small circle in the middle of the screen). The problem is I average about 5fps :/. I'm using Teensy 4.1. I'm guessing this is to be expected when trying to drive 12,288 pixels.

hpwit commented 1 month ago

Hello I am running them an a 128x96 using and esp32. but I am using a Special driver that allows me to refresh the panel à 128fps. so I can have better fps. which animation are you using ? I could make a benchmark (even if the teensy is way more powerful than the esp32 at flaot calculation)

ssaenger commented 1 month ago

We both have the same panel size and it sounds like you are able to have a much higher fps with a less powerful chip. I wonder what I am doing wrong. For example, the Hot_Blob() animation gives me 7 fps. It does 4 calls to render_value() and I think the slowness happens in here. Printing the statistics: 7 fps 86 kpps @12288 LEDs 137322.00 µs per frame Rendering: 99.00% Sending data: 1.00% (135301.00 + 2021.00 µs) 135ms for rendering 1 frame. That's a very long time, which equates to about 7fps.

hpwit commented 1 month ago

Hello With how many pins are you driving the panel ?

ssaenger commented 1 month ago

I'm driving some HUB75 panels. I don't know how many pins are being used, but that is not the issue. I can drive these panels over 200fps for example. From the little statistics printed in my earlier message, the delay sending the data only accounts for about 1% of the total delay.

hpwit, how long does it take to render a frame on your end? Do you have any video showing these animations being played? Thanks.