Does MyGUI allow...

dredogol

09-02-2010 04:16:44

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.

Altren

09-02-2010 08:57:49

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 :P

ShiftZ

17-11-2010 11:40:34

What is that kind of special layer you mentioned? Is that one of the standart layoutEditor's Main, Modal, Middle ?

Altren

17-11-2010 15:17:16

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.

ShiftZ

17-11-2010 15:22:39

Why its separated? Useful feature for portable devices/

Altren

17-11-2010 18:00:56

Why you think so?

ShiftZ

17-11-2010 18:50:57

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.

Altren

23-11-2010 02:30:41

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 ;)