On the streaming video shown at your link, you can get rid of those "flash updates" (gray -> black -> white -> gray) by using dithered black and white pixels to replace the "blinking" gray areas. From my testing, I much prefer the ordered (Bayer) dither over the other methods. An ordered dither is also used in the gnuboy program for the kindle (from hawhill) and as you can see when you run a gameboy ROM in it, there is no flicker (but there is some smearing on moving objects). Also, it will be MUCH faster if dithered.
The flash updates you are using take a significant fraction of a second to update (or more, depending on quantity and distribution of gray pixels). Updating gray pixels also shows an annoying flash during that very slow update. Ordered-dither updates can run at a predictable 5 udpates per second for fullscreen, or 12 updates per second for a smaller image on the screen (such as 400x300), all with no flashing during the update.
You just need to avoid drawing gray pixels, and use pure black and white, with dithered grayscale. You can see just how fast these updates can be, by running my "vidtest" program for the K3 (which uses time-variant random dithering to demonstrate update speed). You can download it here: https://www.mobileread.com/forums/sho....php?p=2012359
You can update even faster by doing "partial screen" updates, limiting the "dirty" rectangle to only areas of the image with a significant quantity of changed pixels, such as the "walking man" in your sample video. The eink device drivers DO have a speed limit though, and if you try to update faster than that, a new update begins without completing the previous update, resulting in an unusable jumble of unfinished updates until the update requests slow down and the drivers can catch up.