Updating the screen takes a hellload of time. It's best to update after you're done, and - if your graph API allows it - only the parts that change. Since we're talking about low-res, I guess, if your characters are square enough, you could try converting the 8x8 map into a list of lines to draw from point ax,ay to bx,by. But I think nothing more than that.