advertsux wrote:
Great, almost two-times faster :o)
But 7 FPS is still very low, i will try to understand library a make
some performance tuning.
Depends on what qualify as 'quick'. nuiTest is not a benchmark and
not a real world sample.
I started with quickly set profiler and got these results:
Func Func+Child Hit
Time % Time % Count Function
---------------------------------------------------------
1252,490 12,2 1305,109 12,7 15819 nuiGetVal(class nuiXMLNode
*,class nglString,float) (nuiflags.obj)
1205,943 11,8 1249,593 12,2 3360
nuiGLDrawContext::DrawShade(class nuiRect const &,class nuiRect const &)
(nuigldrawcontext.obj)
1143,250 11,1 1143,250 11,1 26956
nglFontBase::GetGlyphInfo(class nglGlyphInfo &,unsigned int,enum
nglFontBase::GlyphType) (libngl.dll)
More than 30% of time was "wasted" these functions. I think especially
nuiGetVal can't get so much. I'm going to find some sort of "caching"
for this function.
There is something wrong with these numbers : nuiGetVal() only get
called in widets constructors, it only affects the initial frame. Also
only nuiLabel uses the newest nglFontBase API and it's heavily cached,
calls from nglFont1 (in nuiEditText for instance) should be much more
expensive.