As mentioned above, ACLS clears EVERYTHING and is probably not what you want. CLS clears just the text and will be better. Still, I think we can do better still with the dirty rectangles technique. With that you only update what changed on screen. I rewrote your code (see attached) to use it and it seems plenty fast. Give it a try let me know if you find bugs.