I've suffered from really poor framerates for a long time, and i know i'm not alone. Once your framerate drops below 10fps, moving windows and typing text starts getting difficult, and i'm sure we've all experienced the situations where you get 2fps in a crowded area and have trouble getting anything done at all.
What i'm suggesting is that the 3d view should be updated in its own thread. The entire user interface shouldn't need to be a part of the 3d view. I suggest that the 3d view is rendered to an offscreen buffer by a child thread, and the user interface is drawn into the normal buffers by another thread. This way, the UI can run at a different framerate from the 3d view, at the cost of some extra video ram and fillrate. It would hopefully make the client a lot more responsive under high load. Many threads will also prepare SL for the dual core cpu era.
It depends on how the client is written though, it might be a lot of job to break it up into threads... Maybe LL could tell us how it works today. Is it just one big thread doing everything, or is the network code separate?