lcd.clear() seems to clear the printing even after it has been called

Following extent's idea, what if you add delay (20) at the end of your loop() to slow down. You can't possibly read more than once a second on that screen anyway.