What do you mean by the word "your subtitles are drawn in drawRect"? If you mean that you are invoking calls to -addSubview: in your drawRect, do not. Move them to a more suitable place, which is called only when necessary (perhaps the -initWithFrame: method for your view, if there is always a subview) and use drawRect only to create a custom drawing.
Strictly speaking, it is called several times - this is the whole point -drawRect. He encouraged updating small parts of your presentation when necessary. It is often called quite often if you update your view (moving it, updating the supervisor, etc.), therefore it should be as simple and fast as possible to avoid performance problems.
source share