The problem I percieve here is that I expect 3D gaming programmers to program in the much higher overhead object oriented paradigms.
This is actually one of the core problems, yes. The SL code is outdated-early-2000's-best-classroom-practice OO to the max, in all parts.
The classes (there are countless of them, and they are huge and stuffed with virtual functions in parts) are referenced and used all thoughout the various parts of the source, back and forth, all over - combined with (lots of) files that literally include multiple dozens of headers through headers including headers including headers.
The biggest result (and irony) is that the largest hotspot of CPU cache misses and unnecessary slowness is the rendering code.
The second irony is that this whole setup is what prevents SL going multi-CPU-core to the max.
It is an utter mess to untangle and fix the client as-is. It is the *textbook* example of people abusing the "P
remature optimization is evil!" quote. Seriously, those people can just take a hike. This is exactly what they cause.
Once upon a time, SL's rendering engine was actually impressive for what it did compared to its speed. These days it's much much, *muuuuch* slower than it could be on any kind of modern(ish) hardware.