I don't think is about cached maps
I read a few days ago a document about a mod. That was in fact other confirmation about how worked was engine to save bandwidth, the game designed in '9x years was ready to support on-line players using a Dial-Up connection which was usually in that time 2 to 5÷6 kb/s depends on modem/and or provider. I don't know if you worked or not with such things but engine is not changing itself because we are in 2012. Imagine that you are a player from year 2000 playing on a Dial-Up connection. Now with some maths tell me how much information about a dynamic actor from game is sent from server to player at 2 kb/s. Why do you think engine is not designed to save resources ? Even other games like Starcraft are ready for Dial-Up and so on. Engine is testing if is necessary to update at client non-important things. Will suppress transmision until client is necessary to be informed about that actor.
There are also things called RemoteRole which are triggered by codes to be executed even separate. By example: a decal is not necessary to be in server, server doesn't have images and doesn't render. Only client is rendering but the server is suggesting to client what to draw and how to draw.
Other things like projectiles are updated on both sides being checked if are in identical or at least close to identical position (some projectiles may have a small difference from client to server creating small strange effects - is about some variables like bNetTemporary to be True or False).
I have a bunch of questions too about some things, who is able to return some answers ?
Example: an UT projectile have NetPriority 2.5 and ROLE_SimulatedProxy. Well I'm still wander why a few projectiles have ROLE_DumbProxy at RemoteRole since is necessary to be visible by any player which doesn't want to be a victim ?
Also other actors have NetPriority 1.00, but ROLE_DumbProxy at RemoteRole. Here I have some doubts to not see crappy errors related to visibility until server is crashing... I'm still wander why important things performing certain animations need DumbProxy because others like that class have SimulatedProxy - I think this is wrong. A static actor like an inventory or any like this may have always DumbProxy since is not moving and we don't need to waste resources for anoying updates about unmovable actors. I looked at more actors in Editor and I wasn't agree with all of them.
The only way to see if some values are good or wrong is to make a mutator containing replacements and to change some values, even later checking them with get commands to see if they were updated or not with new values and if won't be bad for game behavior.
In case of mis-understoods a ROLE_DumbProxy means an actor updated wicker. A projectile with DumbProxy is updated with some frames lost. ROLE_SimulatedProxy is updated more relevant runing smoother but consuming Net resources. At least for actors behind assumed glasses dissapearing in a few seconds I don't think I can deliver a good answer.