[sldev] Second profiling run.
Alan Grimes
agrimes at speakeasy.net
Fri May 18 20:25:03 PDT 2007
I did another profiling run, this time I attempted to log in to the
server with an even more heavily modified version, this time restoring
floats and doubles to the code... datatypes which are standard across
many languages and are of standardized formats on many platforms, and
after completing the removal of BOOL.
Note: the only people who override floats are library developers because
they want to maintain the ability to change types later without breaking
dependencies.
(the version of the client actually runs and I have successfully logged
in and navigated in the world...)
With full profiling engaged, my 1.2ghz processors were not enough to
sync up with the servers, it just stalled for 20 minutes BUT DID NOT CRASH.
42% of the runtime was spent in the secondlife binary (as opposed to
shared libraries.)
Inside the secondlife binary, 41% of the cycles fell in the call tree
under LLFontGL::render...
The major functions below LLFontGL::Render are
LLFontGL::drawGlyph (60%)
LLFontGL::getWidthF32 (14%)
LLFontGL::getXKerring (total 18%)
Conclusion: the font engine needs an overhaul.
ugh. =(
Also, many functions and variables that should be static, aren't... =\
--
Opera: Sing it loud! :o( )>-<
More information about the SLDev
mailing list