This week we have seen region crossing problems pop up. Some are commenting about them and reporting details. The Lindens have acknowledged this is a problem. They have some idea of what the problem is and what to do about it. So, we should see a fix, hopefully, roll into an RC region next week.
See Deploys thread: 2013-03-04.
See: BUG-1814 – No object updates from vehicles after some region crossings. Filed by: Aeon Voom.
Problem Repo Description: Fly mesh aircraft with vehicle engine and relative high amounts of individual parts (~ >80). It also happens to sculpty vehicles and mesh vehicles with a low number of individual parts, but far less frequently.
While this is a possible crash mode it was hard to find out what is actually causing it.
Maestro Lindens explanation in BUG-1707 gave us a good idea where to look and search and we made some interesting findings through that.
BUG-1707 – Mesh Vehicles have delayed sim crossing. Filed by: Aeon Voom.
Problem Repo Description: We compared legacy physic models to new physic models on airplane vehicles. Just compare an legacy physics airplane with a new physics model airplane and cross a couple sims. You’ll see the difference.
Maestro Linden explained some of the problem and how crossings work:
Hi Aeon, it’s expected that mesh vehicles would require slightly more time to region cross, since the mesh data has to be passed between the regions, so that the new region knows how the object will collide. This step does not happen with sculpts or other prims, since all sculpts have the same collision shape and legacy prims’ collision shapes are just based on their parameters. This data passing during region crossing only relates tangentially to how much load it generates on the physics engine – a tortured torus has almost no data to pass, but will cause CPU load if it collides with other objects.
I did run a test to measure the difference, using two of the planes you gave me. I took your ‘A4M Skyhawk VMA-214 (display)’ sculpted airplane and ‘F-117A NightHawk (display)’ mesh airplane and did a series of region crossings using this simple vehicle script, which is adapted from the Kart 1.0:
The script is shown in JIRA.
After 20 crossings, the sculpted plane had an average of 9.8ms of serialization time each time it left the region, and the mesh plane had an average of 10.9ms. The mesh plane additionally incurred an average of 5.5ms to deserialize the 15 linked meshes upon entering the region. This is well within the expected behavior, but you could probably reduce the figure slightly by combining some of the mesh prims into a single mesh.
So, there is a problem. If you have new information to add, place it in the forum thread or file a JIRA and refer to BUG-1814.