[sldev] Optimizing load time.

Alan Grimes agrimes at speakeasy.net
Wed May 16 21:27:40 PDT 2007


Now that I have a mostly working source, albeit more than a little
removed from the mainline, I started doing a little profiling.

Memory leak check showed that most of the errors were in library calls,
ie will never be fixed ever such is in ld.so and the nvidia GL
libraries. =(

I did a profile run where I loaded the client in the profiler, waited
for the welcome screen to come up, then selected quit...

I was surprised to find that class LLMD5 was eating 41% of the CPU!! =P

The specific method LLMD5::transform was the top CPU hog at 21% (called
2.7 million times during my run.)

Maybe it would be a good idea to switch back to an external library
which would, presumably, be better optimized.

BIG PROBLEM:

LLfontGL:: render Quad is called 1.6 million times, It uses slow single
shot GL commands. For such a frequently used func, this is bad. Instead,
the callers of this function should be traced, they should queue up
their quads into vertex arrays, and then fire them off... Better yet, a
font engine should be employed to generate one-off textures that should
then be fired off to a single quad... the tree under this method is far
more extensive than it should be for such a heavily used function.


-- 
Opera: Sing it loud! :o(  )>-<


More information about the SLDev mailing list