mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 05:53:10 +02:00
This should fix the issue where a persons avatar was occasionally not visible to others for a long period of time. This was due to several factors: 1) When a new avatar was added to the simulation that identity packet was not broadcast to other avatars on the server. This would rely on random logic to send the identity eventually. This is fixed in this PR, by sending identity packets to all other clients when a new clients arrive. 2) The random identity logic was not being executed if the sequence number check caused an update to be skipped. This means the probability of sending a random packet was reduced significantly, especially for clients that were loading geometry on entry. This was fixed by doing the random check before sequence number check. 3) The 1/300 probably used in the check was too low, this was only a 63% chance of sending a identity packet within 5 seconds. This was fixed by changing the probability to 1/187, which is a 80% chance to send an identity packet within 5 seconds. 4) The randFloat() implementation slightly reduced the identity packet probability due to quantization errors. This has been replaced by a C++ std random number generator. |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt |