-
Notifications
You must be signed in to change notification settings - Fork 4
Performance of Visualizer
Up to date as of version 1.3.3
Tested with an Arduino Nano at 1M Baud rate
On this page, the limits of what the Visualizer can do will be tested, these tests may change over time, as more optimizations gets included!
Here is the best and the worst values taken into place, that means that the size of data being sent is a constant (ex. 255;255;255 for the worst and 0;0;0 for the best). Where green is the best value, and red is the worst.
The first thing that would be interesting to look at, is how the RPS (Refreshments pr Second) scales with the amount of LEDs that you have. This can be tested on my own setup, where i change what ranges the visualizer needs to update to and from. First we take a look on the visualization mode Beat, where the numbers are as follows:
(Where x = LEDs and Y = RPS)
And with follow lines for best and worst in each end:
The first thing that comes to mind is that you can see there are some big drops, that's when i change pin ID, where i have a LED strip on pin 2, 3, 4 and 5. The next thing you might see is that sometimes the worst value, is better than the best value, the reason for this is that Beat in itself does not transfer that many data (only a value between 0 and 100), so there can be a large difference between best and worst in this mode. That being said, we can take a look at the RPS/LED drop from the start, to the end. Where the first strip gets:
-0,9 RPS pr LED in best, and -0,83 RPS pr LED in worst
While the other end, with the last strip gets:
-0,06 RPS pr LED in best, and -0,26 RPS pr LED in worst.
In conclusion to that, there is not much difference between the best value, and the worst value in this mode, however if you are aiming for great performance, then get your entire strip on one pin, instead of mine, where i use four different once.
Spectrum beat is a bit different, since the RPS highly depends on what data is being sent. So the performance of the spectrum beat can wiggle a lot. That being said, we can still get an approximate like before:
And with follow lines for best and worst in each end:
This time it is different, there is no significant drop between pins, and the RPS is surprisingly binary. To underscore that, we can again look at the RPS drop pr LED:
-0,23 RPS pr LED at best, and -0,2 RPS pr LED at worst
while at the end we have:
-0 RPS pr LED at best, and -0,08 RPS pr LED at worst
In conclusion, the spectrum beat mode scales very nicely.
The spectrum wave mode is not like the two before, since now there is a lot more actions the Arduino have to take. So the RPS drop pr LED looks like this:
And with follow lines for best and worst in each end:
Where we can see a significant drop in the worst values, while the best values are relative stable. The RPS drop pr LED at the start and in the end is as follows:
-0,53 RPS pr LED at best, and -1,7 RPS pr LED at worst
and at the end:
-0,06 RPS pr LED at best, and — 0,2 RPS pr LED at worst
So we see the RPS stabilize towards the end.
This one is much like Spectrum Wave, since they use the same functions, its RPS over LED graph looks like this:
And with follow lines for best and worst in each end:
Here we see a large drop in RPS / LED in the start, however it stabilizes at the end, which gives us a RPS/LED at:
-0.87 RPS pr LED at best, and -1.53 RPS pr LED at worst
in the start and at the end:
-0.06 RPS pr LED at best, -0.02 RPS pr LED at worst
As said this is much like the previous Wave style, so not much to say here.
This one is much like the Spectrum Beat, however it's using the Wave Beat values instead, the RPS/LED graph looks as follows:
And with follow lines for best and worst in each end:
Where we see somewhat the same as with Spectrum Beat, the RPS drop pr LED is as follows:
0.03 RPS pr LED at best, and -0,13 RPS pr LED at worst
at the start, and at the end:
0,16 RPS pr LED at best, and -0.08 RPS pr LED at worst
The reason for why some of the values are positive is that there's really not much difference from the values in the first place.
The full spectrum mode is also different in that the data size to transfer does not change that much, so there is only a little difference from the best to the worst:
And with follow lines for best and worst in each end:
Where we can see the RPS drop pr LED:
0 RPS pr LED at best, and -1,38 RPS pr LED at worst
With the first section, and with the last section:
-0,18 RPS pr LED at best, and -0,12 RPS pr LED at worst
Kristian Skov Johansen 2018