Spent a "little" time optimizing the code base, along with actually trying to work out the kinks of why optimized mode doesn't work. I'm not all the way there yet, but the results so far are very nice!
Note: The flickering apparent in both videos is mostly picked up by the camera only and isn't really noticeable IRL, and the refresh rate can be pushed up further. Just keeping it a bit "low" to avoid confusing myself while debugging the rest of the code in case it causes crashes/erratic behavior etc.
For instance -
Here's a clip of SD-card videos running as fast as possible in the old code.
Notice the slow motion (faked by frame-skipping previously, removed here).
And here's the same clip after optimization.
Compared to the old version, it's a lot smoother and I'm actually running the videos at 40fps here (faster than original 30). Notice the long blank space between the videos, where the old version barely finished rendering the first one when the second one was timed to start. :)
Some crude counter increments:
Previous one-second count: 28402
New one-second count: 91857
Quite the improvement!
Very satisfied with the results so far!
In case you didn't notice, I used two simultaneously running SD-animations (background & fx) during the second video. Works great and allows me to spice things up. #thumbsup
And the cable mess have been mostly corrected now, all lights tested and working. :)