Commit Graph

27632 Commits (9224b5d68049c0b8b3a5d7a9b3dcd6d5f4c1f005)

Author SHA1 Message Date
UbitUmarov 2d352e6348 *NEEDS more testing* on attachment drop: fix adding prims to physics
engine, remove disturbing phantom flag. On attach: fix removing prims from
physics engine, delete any keyframeMotion, remove physical flag. This is
 executed in all attachs possible only need on attach from the scene (?),
 but its where original code removed only root part from physics engine
2014-09-08 02:19:53 +01:00
Robert Adams e5b269e9a0 Merge branch 'master' into bullet-2.82 2014-09-05 21:20:02 -07:00
Justin Clark-Casey (justincc) 41f2f3132b For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
UbitUmarov cf1d58d164 do not send objectproprieties on sop.SetGroup(). I many cases this will
arrive before creating the object in viewer with respective full update
2014-09-05 15:16:13 +01:00
UbitUmarov 25bc349ec9 near region check on tp needs to be a full current view check.
sp.KnownRegions is unreliable for this.
2014-09-05 12:28:57 +01:00
Justin Clark-Casey (justincc) e4d16e6795 Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
Robert Adams 47ac103df7 Merge branch 'master' into bullet-2.82 2014-09-03 21:21:01 -07:00
Justin Clark-Casey (justincc) 73e20b7f5f For processing outbound http requests in the XMLRPCModule, start the thread through Watchdog for monitoring and stat purposes. 2014-09-04 00:22:30 +01:00
Justin Clark-Casey (justincc) 0692ebfbc6 Start long-lived thread in IRCConnector via watchdog rather than indepedently, so that it can be seen in "show threads" and stats 2014-09-04 00:00:51 +01:00
Justin Clark-Casey (justincc) 4b04d22899 Don't need to check separate physics status in bulletsim update since that method is only run for an indepndent thread anyway.
Also remove bulletsim monitored thread from watchdog on shutdown.
2014-09-03 23:53:04 +01:00
Justin Clark-Casey (justincc) 6e6512eb4a Make bulletsim thread alarm if no update for 5 seconds.
The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason.
2014-09-03 23:43:59 +01:00
Justin Clark-Casey (justincc) 29400538b7 minor: fix indenting from previous commit b08ab1e 2014-09-03 23:37:20 +01:00
Justin Clark-Casey (justincc) b08ab1e375 If BulletSim is running on its own threads, start this thread via the thread watchdog.
This allows us to see the presence of the permanent thread via the "show threads" console comand.
Also adds the region name to the thread name.
2014-09-03 23:35:18 +01:00
BlueWall e19d1ecce8 Cleanup some unused code and configuration entries 2014-09-03 17:09:57 -04:00
Kevin Cozens 40c579addf Don't show the ScrLPS data twice in the WebStats based statistics page. 2014-09-03 14:17:37 -04:00
BlueWall 3e5bc75f89 Remove the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02. Find the binaries, sources and README in ./share/32BitLaunch if needed. 2014-09-03 13:00:09 -04:00
BlueWall e8ca900ef8 Move the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02. 2014-09-03 12:57:29 -04:00
Justin Clark-Casey (justincc) ac866a1c46 Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
Defaults to true.  For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc) d582db6132 Fix recent regression from 473c5594 where camera started to judder on moving vehicles.
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
2014-09-02 23:39:52 +01:00
UbitUmarov 0514679b15 reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra
throttle and makes more packets to be sent in bursts and not in steady
 state flow.
2014-09-02 18:51:49 +01:00
UbitUmarov 6611e75a2b void time change between gettime calls 2014-09-02 16:11:46 +01:00
UbitUmarov 50433e089b *needs testing, not that good* change throttles math using floats and not
int64, etc. Limite brust bytes to the total rate client requested times a
look ahead estimation time, Avoid queues starvation with updates waiting...
2014-09-02 15:48:59 +01:00
Robert Adams 3d65d22138 Merge branch 'master' into bullet-2.82 2014-08-30 08:29:39 -07:00
Justin Clark-Casey (justincc) 473c559478 As per the LL grid, if an avatar is sitting then return it's velocity relative to the region rather than relative to its seat.
Resolves http://opensimulator.org/mantis/view.php?id=7175
2014-08-30 01:09:33 +01:00
Justin Clark-Casey (justincc) bb7c88805a As per the LL grid, for attachments make llGetObjectDetails() OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero.
This completes http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:58:47 +01:00
Justin Clark-Casey (justincc) 4d8bc007e2 minor: fix wrong indentation in previous commit 0cc3cd 2014-08-30 00:54:36 +01:00
Justin Clark-Casey (justincc) 0cc3cdfb4e As per the LL grid, for attachments make llGetObjectDetails() OBJECT_ROT return the avatar's rotation.
This is already the behaviour of OBJECT_POS.
Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:48:59 +01:00
Justin Clark-Casey (justincc) a02dae566c Fix issue where moving a seated avatar would not adjust their subsequent stand position.
Addresses http://opensimulator.org/mantis/view.php?id=7299
2014-08-30 00:26:18 +01:00
Justin Clark-Casey (justincc) 099212167b Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB
As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29 23:40:21 +01:00
Justin Clark-Casey (justincc) 1b75ec5647 Ignore whitespace when reading serialized XML objects.
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace.  This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
Justin Clark-Casey (justincc) 3555c0c3f3 Fix recent regression test TestDeserializeXmlObjectWithOtherParts() which was not meant to indent the input xml 2014-08-29 18:14:47 +01:00
Justin Clark-Casey (justincc) 305c3e668a Add regression test for deserializing xml objects with more than one non-root part. 2014-08-29 18:06:29 +01:00
UbitUmarov 18de5c8a2d make use of it in GetMeshModule, and meshs are Assets not Task itens,
reduce MeshModule impact on udp rate
2014-08-29 16:30:49 +01:00
UbitUmarov 7351d92a76 add method to get a category throttle rate 2014-08-29 16:19:30 +01:00
UbitUmarov fd0a635302 reduce burst 2014-08-29 15:13:46 +01:00
UbitUmarov 438798202f replace the tick() by a limit on the maximum number of tokens that can be
acumulated ( variable named BurtRate, not exactly a rate...)
2014-08-29 13:26:30 +01:00
UbitUmarov 6f590c2f79 disable first drip 2014-08-29 00:05:57 +01:00
UbitUmarov 986863a0cd try to reduce insane high data rate udp bursts. This needs testing on a
region with a lot of contents. Should not affect much average rates.
2014-08-28 22:26:03 +01:00
UbitUmarov 894b5c10c6 remove misplaced comment 2014-08-28 18:54:08 +01:00
UbitUmarov 9839904ebe try to make sense of throttle rate limits 2014-08-28 18:51:55 +01:00
Justin Clark-Casey (justincc) 1a3ffda852 minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type 2014-08-28 18:37:34 +01:00
Justin Clark-Casey (justincc) f132f642b2 On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.
Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
2014-08-28 18:15:33 +01:00
UbitUmarov 5a2d4fd47f add some functions for estimation of number of bytes that can be send in a category in specified time 2014-08-28 16:49:32 +01:00
UbitUmarov ff4df688ba send all presences terseupdates in same batch 2014-08-28 12:55:31 +01:00
UbitUmarov ade4bf69b1 if we send wearables with ThrottleOutPacketType.HighPriority, then we
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov 38fc1cc445 try to make child presence know its root region. Incomplete, some paths dont send the information. 2014-08-28 00:44:59 +01:00
UbitUmarov b871029a30 dont create a cadu that is not used. Add a root region global position 2014-08-27 18:05:40 +01:00
UbitUmarov 73cdafd6c9 dont mess throotles values sent to child presences. Some cleanup 2014-08-27 15:57:12 +01:00
Melanie Thielker 012d0b07bc Merge branch 'ubitworkmaster' 2014-08-27 11:25:17 +02:00
UbitUmarov 1e888d61ca enqueue also if m_nextPackets[category] is not null. This is really the
top element of a category queue, equivalente to using a queue.peek() if
 avaiable
2014-08-27 01:33:09 +01:00