Currently all text is rendered char by char, with a surface and texture created for each character. This was easy to get running, and makes selection / text background colour easier, but it is very likely terrible for performance. I'm noticing the app is sluggish on my personal laptop. Look into this. Easy improvement: if a TextArea doesn't have focus, and the text isn't changing then just cache all text to one surface, instead of redrawing char by char.
Currently all text is rendered char by char, with a surface and texture created for each character. This was easy to get running, and makes selection / text background colour easier, but it is very likely terrible for performance. I'm noticing the app is sluggish on my personal laptop. Look into this. Easy improvement: if a TextArea doesn't have focus, and the text isn't changing then just cache all text to one surface, instead of redrawing char by char.