1. A computer-implemented method, comprising: receiving, by a client device, a sequence of frame updates for a display screen; determining a sequence of frames corresponding to the frame updates; and adaptively applying one or more image enhancing techniques to the sequence of frames based on at least one of: available network bandwidth; a frame refresh rate; and image quality; wherein applying the one or more image enhancement techniques comprises at least one of: predicting a frame based on previously received frames; interpolating a frame based on at least two buffered frames; and reducing appearance of artifacts in a received frame.