Another big woohoo! I added double-buffering to gmplay, then I added the ability to specify msec per update on the gmplay command line. On the K4, although the eink drivers fall behind doing 30FPS fullscreen, it does 24FPS just fine (41msec/frame). That means that the K5 (and K4diags) should be able to play movies at full speed with no dropped frames.
I now have 800x600 24FPS video running on my K4 and it is very smooth. This would be great for video games. This is ready for Doom or Quake -- absolutely... ;-)
I am actually quite surprised considering that the Reference Manual for the chipset used in the K4 says you need to wait 300msec between updates in DU (pure black and white) mode, and I am "overclocking" the eink by ignoring completion status and sending update at 2.5x normal speed in the published gmplay, and 7x in my private copy and there are no eink artifacts (except for fast moving high contrast stuff) using dithering like I am. If we control our source content we can go quite fast.
The K3 cannot go faster than 2.5x, so I set my standard framerate in my .gmv.gz files as 2.5x. going faster will make much larger video files, but can be done in a video game (or video demo) with no file size penalty.
And... I am doing full-screen updates at this speed -- cool!
I have learned a LOT, which does not show because my code has gotten MUCH smaller and simpler even while it has drastically gained performance over my earlier experimental eink code.