Postby CrazyEddie » Tue Jan 26, 2010 10:12
Hi,
Well text is still drawn as triangles - it's the lowest level renderable element there is, so there's no way around that (and we never said there would be). However, what has been added is a facility whereby the final output can be cached to texture and reused in subsequent renders. For example if you have 10 thousand text characters to be drawn, that's obviously 20 thousand triangles; we can now cache that output and on subsequent renders, it will only be two triangles - hence it should be somewhat quicker (because drawing triangles will normally be faster than drawing 20 thousand, right?).
Now, due to the fact that some windows will have content that changes often, while other windows will be largely unchanging, CEGUI can not know which windows would benefit from this caching and which would not. So it is basically left to the library user to specify which windows should be cached and which should not (this is controlled via the AutoRenderingSurface property, though there are other ways also). The default provided skins/looks have this property enabled for FrameWindow only - mainly as it's the level at which our samples will largely benefit. Out in the real world, there will be much better configurations specific to each application.
As an aside, the rendering surface is also used/needed for certain other aspects of the lib, such as effects and rotations and so on.
HTH
CE.