render text directly instead of updating textString property