Threaded Region Crossing Beta Tests
Introduction
In an upcoming server build, Linden Lab has added background serialization of agents and their attachments on region crossing. What has happened in the past is that when you leave a region, there was a main thread stall caused by the serialization of the avatar and it's attachments which caused a 300% spike in frame time. With added background serialization there shouldn't be such frame time spike.
Test Setup
Regions with Background Serialization turned OFF (Unthreaded) can be identified by its channel name: 'DRTSIM-184 Unthreaded'
- GC Test 2
- GC Test 8
Regions with Background Serialization turned ON (Threaded) can be identified by its channel name: 'DRTSIM-184 Threaded'
- GC Test 9
- GC Test 15
- GC Test 10
- GC Test 16
Testing Ideas
Please, free to expand on the following basic Region Crossing test ideas. For additional suggestions, please mail Caleb.
- Region crossing with regular avatar
- Region crossing via manual TP
- Region crossing on a vehicle (including Mesh based vehicles)
- Region crossing while sitting on moving objects
- Region crossing via scripted TP
- Region crossing with attachments of varying sizes (including complex HUDs)
Community Beta Tests
#1: Direct login to test regions
- Ensure that you have access to the test regions listed in 'Test Setup'
- Ensure that you can rez objects and run scripts
Fails if
This test fails if the tester is unable to log-in directly to the target location. Please alert Caleb. Also, please have Help -> About Second Life info copied to clipboard to send to LL staff upon request.
Non-Threaded Region Crossings
This is to confirm that unhooking the old threaded state machine region crossing code doesn't break regular, non-threaded, region crossings.
Each of these tests begin with the following steps:
- Start up two or more adjacent regions.
- For each region, edit the simulator.xml so that the boolean named "enable_background_serialization" is set to false.
Test 1 - Verify Regular Crossings Work
- Using a test account or the horde, do lots of region crossings to confirm that all is normal.
Test 2 - Verify Regular Crossings with Meshes Work
- Using a test account, put on a mesh avatar and do lots of region crossings to confirm that all is normal.
- Add a mesh attachment and do lots of region crossings to confirm that all is normal.
Test 3 - Verify that Regular Teleports Work
- Using a test account, start in a region that is NOT one of the test regions.
- Teleport into one of the test regions.
- Teleport back to where you came from.
- Repeat some number of times to verify that all is normal.
Threaded Region Crossings
This is to confirm that moving agent and attachment serialization to a background thread doesn't break region crossing.
Each of these tests begin with the following steps:
- Start up two or more adjacent regions.
- For each region, edit the simulator.xml so that the boolean named "enable_background_serialization" is set to true.
Test 4 - Verify Regular Crossings Work
- Using a test account or the horde, do lots of region crossings to confirm that all is normal.
Test 5 - Verify Regular Crossings with Meshes Work
- Using a test account, put on a mesh avatar and do lots of region crossings to confirm that all is normal.
- Add a mesh attachment and do lots of region crossings to confirm that all is normal.
Test 6 - Verify that Regular Teleports Work
- Using a test account, start in a region that is NOT one of the test regions.
- Teleport into one of the test regions.
- Teleport back to where you came from.
- Repeat some number of times to verify that all is normal.
Threaded Region to/from Non-Threaded Region Crossings
This is to confirm that moving agent and attachment serialization to a background thread doesn't break crossing between regions that have Threaded region turned on and Non-Threaded region.
Each of these tests begin with the following steps:
- Start up two or more adjacent regions (they have to run on two different simhosts).
- For one region, edit the simulator.xml so that the boolean named "enable_background_serialization" is set to true' and the other one is set to false.
Test 7 - Verify Regular Crossings Work
- Using a test account or the horde, do lots of region crossings to confirm that all is normal.
Test 8 - Verify Regular Crossings with Meshes Work
- Using a test account, put on a mesh avatar and do lots of region crossings to confirm that all is normal.
- Add a mesh attachment and do lots of region crossings to confirm that all is normal.
Test 9 - Verify that Regular Teleports Work
- Using a test account, start in a region that is NOT one of the test regions.
- Teleport into one of the test regions.
- Teleport back to where you came from.
- Repeat some number of times to verify that all is normal.
Threaded Region to/from Server-Trunk Crossings
This is to confirm that moving agent and attachment serialization to a background thread doesn't break crossing between regions that have Threaded region turned on and Server Trunk region.
Each of these tests begin with the following steps:
- Start up two or more adjacent regions (they have to run on two different simhosts).
- For one region, edit the simulator.xml so that the boolean named "enable_background_serialization" is set to true and the other one is running Server Trunk.
Test 10 - Verify Regular Crossings Work
- Using a test account or the horde, do lots of region crossings to confirm that all is normal.
Test 11 - Verify Regular Crossings with Meshes Work
- Using a test account, put on a mesh avatar and do lots of region crossings to confirm that all is normal.
- Add a mesh attachment and do lots of region crossings to confirm that all is normal.
Test 12 - Verify that Regular Teleports Work
- Using a test account, start in a region that is NOT one of the test regions.
- Teleport into one of the test regions.
- Teleport back to where you came from.
- Repeat some number of times to verify that all is normal.