Don't bother with nuiGetVal. It's only used in the XML parsing at
startup (and I have soe solution to speed up parsing like hooking a real
XML parser to the nui API).
I wonder why DrawShade takes that much however glyph handling is known
to be slow currently (at least I noticed that).
Try to let the test/profile run at least 30 seconds to get realistic
results.
What profiler are you using? I use VTune (latest version) on Win32. I
tried TrueTime but found it to be really slow and not very
useable/helpfull.
Sebastien
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.
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.
Martin