I want to use an 8 digit 7-segment tube max7219 for displaying information and capturing with camera.
So it is important to know how fast the display update is done, and whether display is valid or in transition.
I found many max7219 libraries, and decided to start with Ozhan's DigitLedDisplay library:
It had a good set of functionality, and was really small despite that.
My fork of that repo made it usable under Linux Arduino IDE in addition to Windows, added support for negative number printing, added setDecimalPos() while keeping datatype to be printed as long, ...:
Most importantly I did some optimizations in loop orders that allow to "see" what is really going on.
New example Digit7SegmentMillis.ino just displays "millis() / divi", default divi=10 meaning displaying 1/100th of seconds. In order to know when display is valid, only necessary display updates are done by remembering last value printed. A "8." is displayed on the leftmost of the 8 positions. It gets cleared away as very first step in printing, and is redrawn [ld.write(7, B11111111)] after printing is complete. This allows to tell whether any frame of a video taken shows a valid value or a just flipping value.
I used Raspberry v1 camera (clone, 3$ incl. shipping from aliexpress.com) with raspiraw. While maximal framerate for that camera is 90fps for 640x480, I made it capture at much higher framerates last year. Today I did capture 640x64 frames at 665fps(!), which allowed to see what is needed of the tube 7-segment display.
This is 1st animation created from such a video, played at 1fps. It shows that the update of 8 positions in display does take less than 3/665=4.5ms:

Next I took 665fps video of new example showing 1/100th seconds with decimal point. At that framerate (video had 0 frameskips), an update happens every 6th or 7th frame:

With either 1 or 2 frames in transition, there remain definitely 4(5) frames with valid display for update after 6(7) frames.
What I find remarkable is the following:
Normally I have to provide very bright light to a scene in order to get any meaningful video, because the shutter time of 1.5ms per frame is really short. Here the tube 7-segment display seems to provide enough brightness with rest of the scene dark.


