Hello everyone. I've been using cocos2d to make a classic adventure game engine like the Sierra and LucasArts games. It's going really well because cocos2d is so amazing. However, I've finally hit a snag.
I'm trying to come up with a good way of rendering a lot of text on the screen at once. So far I've been using the CCBitmapFontAtlas class for all of my text. It's really great when the strings aren't too long. However, when I try to use them to dynamically render two or three paragraphs (one long CCBitmapFontAtlas per line) at one time the lag is really noticeable. What I've tried is creating the CCBitmapFontAtlas classes ahead of time and always keep them in memory. Then I use the setString message on them when I want them to display the new text. I've narrowed it down and found that is where the lag is. I'm guessing that they were not designed to handle a really long string of text efficiently? Is there an asynchronous way of setting the string like there is an asynchronous way of loading sprites using the sprite manager?
So I've tried a few other options as well. I've used the UITextView and UIWebView. They do work, but the lag is also too much when I set the string of it and add it as a child to the openGLView.
Has anyone else made a system for displaying lots of text dynamically? I'm talking about an adventure game so I need to display a lot, almost a whole screen full at times. I have no problems making it work but the performance isn't acceptable. Anyone have any ideas?