I tested the current shader performance with a bunch of test strings.
The performance of the pixel shader doesn't really drop much with more strings because the shader already checks the whole screen on a downscaled rendertarget.
Shader method: ~ 400 - 500 fps
Drawstring method: ~ 100 - 200 fps
There are probably some improvements I can make but I'm already happy with the results.