I use OnSerializeNetworkView to send data from a server to clients. The GameObject involved has a NetworkView component attached to it, and everything works fine. But I noticed that the actual send rate of this OnSerializeNetworkView (mesured by counting function calls) does not match the value at Network.sendRate.
Examples:
Network.sendRate OnSerializeNetworkView calls/s
15 ~13
20 ~17
40 ~30
60 ~40
100 ~60
It seems to be linear and actually capable of high rates, but not matching Network.sendRate for values over 10. Also, the type of “State Synchronization” of the attached NetworkView does not affect this behaviour in any way, which brings another question: Is OnSerializeNetworkView sent over UDP all the time?
The data to send is not large, about 300B per client, and the above values were pulled during tests with only one client. There is only one other NetworkView in the project, which synchronizes a Transform.
Any thoughts or explanations?