Justin Clark-Casey (justincc)
f8fa76c09f
Add loglevel to jobengine that can be controlled via "debug jobengine loglevel <level>".
...
Defaults to 0
Level 1 currently does verbose logging about every queued and processed job.
2014-09-09 18:42:02 +01:00
Justin Clark-Casey (justincc)
0b7736b861
Temporarily add root agent rez attachments work to job engine if it is running rather than as a fire and forget.
...
Experiment to see if serializing attachment rez and send initial data jobs improves other parts of sim performance.
2014-09-09 18:26:41 +01:00
Justin Clark-Casey (justincc)
a086adf427
Add experimental job engine to see if queueing some existing async work during root agent entry to a region improves perf rather than always attempting to execute everything concurrently
...
Job engine is controlled via "debug jobengine start|stop|status".
Can only currently be enabled and disabled dynamically at runtime.
Currently only applies to code sending initial region data (objects, other avatar data) to a client.
2014-09-09 18:14:56 +01:00
Justin Clark-Casey (justincc)
e76cc35409
Merge branch 'master' into ghosts
2014-09-09 17:22:09 +01: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
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
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)
a129e9e351
Merge branch 'master' into ghosts
2014-09-03 00:26:53 +01: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
Justin Clark-Casey (justincc)
3c7eacf39b
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:35:03 +01:00
Justin Clark-Casey (justincc)
cd6f73392a
Reinsert OpenMetaverse.dll from commit fbdf507
from an accidental replace in f1f935e
...
This only affected pCampbot.
2014-09-02 19:00:14 +01:00
Justin Clark-Casey (justincc)
1559a3a099
Merge branch 'master' into ghosts
2014-09-02 18:34:54 +01: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
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
Justin Clark-Casey (justincc)
6520065625
Merge branch 'master' into ghosts
2014-08-26 18:52:50 +01:00
Justin Clark-Casey (justincc)
b1ff78f4d8
Don't allow update timer to invoke another scene update if the previous is still active.
2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc)
693bfdc0fb
Merge branch 'master' into ghosts
2014-08-26 18:26:27 +01:00
Justin Clark-Casey (justincc)
bafa82eb12
Remove race conditions from where SP.AbsolutePosition could change between the various property checks.
2014-08-26 18:25:14 +01:00
Justin Clark-Casey (justincc)
f3eaa6d81e
Temporary hack to disable av to av collisions in bulletsim.
...
Need to do this for a test. Final implementation will be properly controlled through a property.
2014-08-26 18:17:09 +01:00
Justin Clark-Casey (justincc)
42bb122232
Fix frame times when updating scene on timer.
2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc)
64f640f901
Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
...
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
BlueWall
aeadddf77a
Add back URL endings in examples
2014-08-25 20:29:46 -04:00
Justin Clark-Casey (justincc)
fabab7414f
Remove database connection locking in MySQLXAssetData. This is unnecessary as connections aren't shared and transactions are already in place where necessary.
2014-08-22 20:34:33 +01:00
Justin Clark-Casey (justincc)
0cb805a64c
Remove query locking in MySQLUserProfileData. This is not necessary as the connection is not shared.
2014-08-22 20:28:56 +01:00
Justin Clark-Casey (justincc)
709038aa2a
Remove some use of database connection locking from MySQLSimulationData - this has not been necessary for some time as database connections are not shared.
...
However, many locks remain since they may effectively be providing transactionality in some operations (e.g. prim updates across multiple tables).
These are candidates for being replaced with proper database transactions, since this would not block unrelated operations (e.g. land save and object save)
or unrelated operations on the same tables (e.g. storage of one linkset whilst another is being removed).
In practice, any performance deg due to contention is probably rare and short lived as the major prim operations are performed in memory and only persisted some time afterwards.
2014-08-22 20:23:48 +01:00
Justin Clark-Casey (justincc)
d899bdcb9b
Remove lock in MySQLFramework. This is not necessary as the connection is not shared.
2014-08-22 19:52:03 +01:00
Justin Clark-Casey (justincc)
f129b824c3
Removing locking on requests in MySQLAssetData.
...
These locks are not necessary since the connection is taken from the underlying mysql pool and not shared.
Such locking is already not done by some other parts of OpenSim.Data.MySQL.
Pointed out by arribasim-dev
2014-08-22 19:46:46 +01:00
Justin Clark-Casey (justincc)
4e03d352c3
Extend drop command to "debug lludp drop <in|out>..." to allow drop of inbound packets.
...
For test/debug purposes.
2014-08-19 18:43:21 +01:00
Justin Clark-Casey (justincc)
298376d5c7
Add "debug lludp drop out <add|remove> <packet-name>" console command for debug/test purposes.
...
This drops all outbound packets that match a given packet name.
Can currently only be applied to all connections in a scene.
2014-08-19 18:34:17 +01:00
Justin Clark-Casey (justincc)
ce74418c20
minor:Give console feedback when we sit or stand pCampbot bots.
...
Also only write console lines for actually connected bots.
2014-08-19 00:58:33 +01:00
Justin Clark-Casey (justincc)
88b2fc61ff
Add clientstack.<scene>.OQRERequestsWaiting stat
...
Only present if OQRE is enabled
2014-08-19 00:42:19 +01:00