A method of controlling and optimizing latency over a communications network from a first computing device to a second computing device comprising: establishing a threshold (MaxTxLatency) associated with the transmission of a video signal comprising a plurality of frames from the first computing device to the second computing device, the threshold based on a number of the plurality of frames in transit between the first and second computing devices that cause latency, wherein each frame is formatted into tiles; transmitting, to the second computing device, one or more of the plurality of frames over the communications network, by the first computing device; measuring a number of frames of the plurality of frames in the video signal on the first computing device, wherein the measuring comprises keeping count of a number of the frames in a queue (TxQ) of the first computing device; identifying which frame (RxCurFr) of the plurality of frames is currently being displayed on a display device associated with the second computing device, wherein the identifying comprises the first computing device receiving periodic updates from the second computing device regarding the frame of the plurality of frames that is currently being displayed; using the number of frames in the queue (TxQSiz) and the currently displayed frame (RxCurFr) together with a frame of the plurality of frames which is currently being received (TxCurFr) at the first computing device to determine an estimated number of frames in transit (TxLatency); determining whether the estimated number of frames in transit (TxLatency) exceeds the threshold (MaxTxLatency); and discarding an oldest frame in the queue (TxQ) of the first computing device when the estimated number of frames in transit (TxLatency) exceeds the threshold (MaxTxLatency). establishing a threshold (MaxTxLatency) associated with the transmission of a video signal comprising a plurality of frames from the first computing device to the second computing device, the threshold based on a number of the plurality of frames in transit between the first and second computing devices that cause latency, wherein each frame is formatted into tiles; transmitting, to the second computing device, one or more of the plurality of frames over the communications network, by the first computing device; measuring a number of frames of the plurality of frames in the video signal on the first computing device, wherein the measuring comprises keeping count of a number of the frames in a queue (TxQ) of the first computing device; identifying which frame (RxCurFr) of the plurality of frames is currently being displayed on a display device associated with the second computing device, wherein the identifying comprises the first computing device receiving periodic updates from the second computing device regarding the frame of the plurality of frames that is currently being displayed; using the number of frames in the queue (TxQSiz) and the currently displayed frame (RxCurFr) together with a frame of the plurality of frames which is currently being received (TxCurFr) at the first computing device to determine an estimated number of frames in transit (TxLatency); determining whether the estimated number of frames in transit (TxLatency) exceeds the threshold (MaxTxLatency); and discarding an oldest frame in the queue (TxQ) of the first computing device when the estimated number of frames in transit (TxLatency) exceeds the threshold (MaxTxLatency).