diff options
author | Teravus Ovares | 2008-02-07 08:15:38 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-02-07 08:15:38 +0000 |
commit | 3674257095f0c511b1f5810fdc034c2d49bb73a8 (patch) | |
tree | a9b4cda92de5ef51d7626b526aa19cd5a563089d /OpenSim/Region/ClientStack | |
parent | * didn't save :P so, this is the other half to my last commit (diff) | |
download | opensim-SC-3674257095f0c511b1f5810fdc034c2d49bb73a8.zip opensim-SC-3674257095f0c511b1f5810fdc034c2d49bb73a8.tar.gz opensim-SC-3674257095f0c511b1f5810fdc034c2d49bb73a8.tar.bz2 opensim-SC-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.cs | 13 |
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 | ||