Originally Posted by
Steelclaw
The "engine" isn't so much a bottleneck in client performance as the way it's being used right now.
Everything you see in game, except for the UI, is part of an abstract, hierarchical structure called a "scene graph". (Think of a graph in terms of computer science or information theory with verticies and edges, not a grid.). Before every frame is rendered, the scene graph is traversed to build the list of commands to send to the GPU. This traversal is currently the most time-expensive part of the render loop (besides I/O). Why? It's complex (lots of nodes) and probably overly so. Decreasing the number of nodes will reduce the time cost of a traversal. After having seen a scene graph with 40,000 nodes, I'm surprised that the client runs as fast as it does.
There's an ongoing effort to reduce the node count of the scene graph, however it's pretty much an all-or-nothing process due to the way everything ties together. Don't expect anything soon on this front. :/
In other news, "self documenting" code does not exist.