optimized so background doesn't redraw on every GPS position update