inky icon indicating copy to clipboard operation
inky copied to clipboard

Is there a "good" way to only update changed pixels?

Open cyrlop opened this issue 4 years ago • 4 comments

Is there a way to speed-up the refresh process by only changing specific pixels instead of going through the whole blinking/flashing cycle?

I use my Inky phat (black) to display a big number at the center, updating every 6 to 20 seconds, it works well so far.

There a couple of solutions around but none that I can figure out how to translate to my inky phat black:

In summary: is the only way to optimize refresh to mess with timings risking damaging the screen or is there a cleaner way if only few pixels change?

cyrlop avatar Aug 17 '21 10:08 cyrlop

I’ve done a lot of messing with the timings and haven’t damaged a screen yet.

Some displays do support updating a region of the display, but I’m not sure any of ours do.

Most of the blinking/flashing is an attempt to erase the previous image from the screen and avoid image retention- you can drastically shorten this period and then run a periodic full update to clean up the screen. If you’ve ever used an e-reader you might notice them doing this.

Gadgetoid avatar Aug 30 '21 14:08 Gadgetoid

Thanks for the clarification! The issue is I have no idea how to do it. I have the "ssd1608" screen (black). I know I'm supposed to change some timings at this line but have no idea about the values to remove the black and white flashing.

I plan to display the new image as fast as possible and run a full cycle (or clean.py) from times to times.

Thanks again for the help!

cyrlop avatar Aug 30 '21 16:08 cyrlop

is there any similar hack at hand for the UC8159 chip?

tilusnet avatar May 12 '22 14:05 tilusnet

is there any similar hack at hand for the UC8159 chip?

Nope. There is no partial update support, nor even support for custom LUTs.

Gadgetoid avatar May 12 '22 15:05 Gadgetoid