aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorTeravus Ovares2008-02-07 08:15:38 +0000
committerTeravus Ovares2008-02-07 08:15:38 +0000
commit3674257095f0c511b1f5810fdc034c2d49bb73a8 (patch)
treea9b4cda92de5ef51d7626b526aa19cd5a563089d /OpenSim/Region/ClientStack
parent* didn't save :P so, this is the other half to my last commit (diff)
downloadopensim-SC_OLD-3674257095f0c511b1f5810fdc034c2d49bb73a8.zip
opensim-SC_OLD-3674257095f0c511b1f5810fdc034c2d49bb73a8.tar.gz
opensim-SC_OLD-3674257095f0c511b1f5810fdc034c2d49bb73a8.tar.bz2
opensim-SC_OLD-3674257095f0c511b1f5810fdc034c2d49bb73a8.tar.xz
* This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement * Terse Updates and other temporary data packets are marked unreliable * After a certain amount of users, the sim actually sends updates on things less * Experimental * Tested to 68 avatar with pCampBot (And it's surprising what actually causes the most lag.. the text chat!)
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index aeac1b2..363688f 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -957,6 +957,7 @@ namespace OpenSim.Region.ClientStack
957 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; 957 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
958 kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); 958 kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock();
959 kill.ObjectData[0].ID = localID; 959 kill.ObjectData[0].ID = localID;
960 kill.Header.Reliable = false;
960 OutPacket(kill, ThrottleOutPacketType.Task); 961 OutPacket(kill, ThrottleOutPacketType.Task);
961 } 962 }
962 963
@@ -1378,6 +1379,7 @@ namespace OpenSim.Region.ClientStack
1378 viewertime.TimeInfo.SunDirection = sunPos; 1379 viewertime.TimeInfo.SunDirection = sunPos;
1379 viewertime.TimeInfo.SunAngVelocity = sunVel; 1380 viewertime.TimeInfo.SunAngVelocity = sunVel;
1380 viewertime.TimeInfo.UsecSinceStart = (ulong)Util.UnixTimeSinceEpoch(); 1381 viewertime.TimeInfo.UsecSinceStart = (ulong)Util.UnixTimeSinceEpoch();
1382 viewertime.Header.Reliable = false;
1381 OutPacket(viewertime, ThrottleOutPacketType.Task); 1383 OutPacket(viewertime, ThrottleOutPacketType.Task);
1382 } 1384 }
1383 1385
@@ -1426,6 +1428,7 @@ namespace OpenSim.Region.ClientStack
1426 } 1428 }
1427 viewertime.TimeInfo.SunAngVelocity = new LLVector3(0, 0.0f, 10.0f); 1429 viewertime.TimeInfo.SunAngVelocity = new LLVector3(0, 0.0f, 10.0f);
1428 viewertime.TimeInfo.UsecSinceStart = (ulong)Util.UnixTimeSinceEpoch(); 1430 viewertime.TimeInfo.UsecSinceStart = (ulong)Util.UnixTimeSinceEpoch();
1431 viewertime.Header.Reliable = false;
1429 OutPacket(viewertime, ThrottleOutPacketType.Task); 1432 OutPacket(viewertime, ThrottleOutPacketType.Task);
1430 } 1433 }
1431 1434
@@ -1521,7 +1524,7 @@ namespace OpenSim.Region.ClientStack
1521 ani.AnimationList[i].AnimID = animations[i]; 1524 ani.AnimationList[i].AnimID = animations[i];
1522 ani.AnimationList[i].AnimSequenceID = seqs[i]; 1525 ani.AnimationList[i].AnimSequenceID = seqs[i];
1523 } 1526 }
1524 1527 ani.Header.Reliable = false;
1525 OutPacket(ani, ThrottleOutPacketType.Task); 1528 OutPacket(ani, ThrottleOutPacketType.Task);
1526 } 1529 }
1527 1530
@@ -1580,6 +1583,9 @@ namespace OpenSim.Region.ClientStack
1580 terse.RegionData.TimeDilation = timeDilation; 1583 terse.RegionData.TimeDilation = timeDilation;
1581 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; 1584 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
1582 terse.ObjectData[0] = terseBlock; 1585 terse.ObjectData[0] = terseBlock;
1586
1587 terse.Header.Reliable = false;
1588
1583 1589
1584 OutPacket(terse, ThrottleOutPacketType.Task); 1590 OutPacket(terse, ThrottleOutPacketType.Task);
1585 } 1591 }
@@ -1604,6 +1610,7 @@ namespace OpenSim.Region.ClientStack
1604 ib.You = -1; 1610 ib.You = -1;
1605 ib.Prey = -1; 1611 ib.Prey = -1;
1606 loc.Index = ib; 1612 loc.Index = ib;
1613 loc.Header.Reliable = false;
1607 OutPacket(loc, ThrottleOutPacketType.Task); 1614 OutPacket(loc, ThrottleOutPacketType.Task);
1608 } 1615 }
1609 1616
@@ -1706,7 +1713,7 @@ namespace OpenSim.Region.ClientStack
1706 terse.RegionData.TimeDilation = timeDilation; 1713 terse.RegionData.TimeDilation = timeDilation;
1707 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; 1714 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
1708 terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity); 1715 terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity);
1709 1716 terse.Header.Reliable = false;
1710 OutPacket(terse, ThrottleOutPacketType.Task); 1717 OutPacket(terse, ThrottleOutPacketType.Task);
1711 } 1718 }
1712 1719
@@ -1719,7 +1726,7 @@ namespace OpenSim.Region.ClientStack
1719 terse.RegionData.TimeDilation = timeDilation; 1726 terse.RegionData.TimeDilation = timeDilation;
1720 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; 1727 terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
1721 terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity); 1728 terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity);
1722 1729 terse.Header.Reliable = false;
1723 OutPacket(terse, ThrottleOutPacketType.Task); 1730 OutPacket(terse, ThrottleOutPacketType.Task);
1724 } 1731 }
1725 1732