A fellow JPL-er suggested some simple things that could help speed up the data processing and the plotting in LiveView, taken from optimizations used in the old 16-bit Commodore Amiga days...
Apply an XOR to the frame to be displayed and the previous frame. This effectively removes pixels that stay the same and then only leaves the pixels that changed. At a high level, all of the frameview widget plotting functions should only plot the pixels that changed their values from the previous frame.
Use run-length encoding to compress the memory being sent to and from the different objects (in particular, the GPU). This is dead-simple lossless compression that just groups similar pixels together.
A fellow JPL-er suggested some simple things that could help speed up the data processing and the plotting in LiveView, taken from optimizations used in the old 16-bit Commodore Amiga days...