Hey MyName, gota Q about the GUI program... does it allow:
1) Texture Caching
2) Text Caching (cache entire widget with images + texts)
3) Multi-line text
4) Mutli-line text highlight/selection
5) Animated images
If you CAN cache the text filled widgets, can you turn that ability on/off on the client (code) side, or is it auto cached for all widgets?
I know Eddie made his CEGUI allow cache of text widgets based on an on/off feature.
1) - 5) I'll simply say yes
I'm not sure what is 1) if it is not "cache entire widget with images + texts", but MyGUI suport caching. To use it you should use special layer where all nodes will be cached.
So by default there is no caching. And in many cases not cached text work faster than cached, because all texts usually rendered in one batch and it doesn't really matter how many triangles is in that batch (2 per character). I haven't tried to run tests to compare it with cached variant, but probably there won't be cases where cached text is better than non-cached. And anyway you are able to use it
What is that kind of special layer you mentioned? Is that one of the standart layoutEditor's Main, Modal, Middle ?
There is UnitTest_RTTLayer that comes with MyGUI, there layer with caching used. All default layers don't have caching and this is not core feature.
Why its separated? Useful feature for portable devices/
Hm, a good question. Maybe to save some fillrate on text render or some triangles bandwidth.
There is one place where it could dramatically increase perfomance - render transparent widgets on opaque widget.
In many cases GUI performance based on batch count and not triangle count. MyGUI decrease batch count as much as possible (all widgets with same texture on one layer are rendered in one batch). And in case of cached widgets usage of video memory and number of batches increased.
So with MyGUI texture caching usually useful only when you have complex GUI scene and use many separate textures (for example set if icons, each in different file). Or when you want to render GUI on 3D object