Try to only do screen updates when they are required and only the parts of the screen that are required to minimise cpu usage