Justin Clark-Casey (justincc)
85e04198fe
Improve frame time stability by taking a few unnecessary repeated calculations out of the main scene loop.
...
Also uses a wait event to sleep rather than a Thread.Sleep to allow the loop to be interrupted in a more controlled manner when necessary.
2014-09-26 20:05:22 +01:00
Justin Clark-Casey (justincc)
1256d643be
Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
...
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:42:57 +01:00
Justin Clark-Casey (justincc)
f2715a5a2f
Update libopenmetaverse to 0f4b361.
...
Primarily to get a small message logging improvement for pCampbot.
2014-09-24 23:22:05 +01:00
Justin Clark-Casey (justincc)
d2b8281df9
Add "debug lludp packet" command to pCampbot.
...
This allows one to log the packets received by a particular bot that are not duplicates of already received packets.
Similar to the OpenSimulator command at the same name but currently any positive level logs all received packets.
No facility yet for logging outgoing packets.
For debug purposes.
2014-09-24 23:03:39 +01:00
Justin Clark-Casey (justincc)
6b05cfce25
Remove an unnecessary check at the bottom of Scene.CloseAgent()
...
At this point sp != null so no check required.
2014-09-24 00:45:19 +01:00
Justin Clark-Casey (justincc)
0448935b1b
Set appearance refresh to false by default.
...
This setting was originally added some time ago to deal with issues where appearance was not received properly by all users.
However, it does not scale well with large numbers of agents.
Disabling to see if the original problem has abated or whether this will have to be tackled in another way.
2014-09-23 18:11:05 +01:00
Justin Clark-Casey (justincc)
bc01c27c8a
Replace two connecting bots state booleans in pCampbot with a single state machine.
...
Also adds "show status" command to pCampbot that currently just shows bot connecting state
2014-09-23 17:28:02 +01:00
Justin Clark-Casey (justincc)
95aade7fdb
When osNpcMoveToTarget() is called for a sitting avatar then silently do nothing rather than throwing an error.
...
Resolves http://opensimulator.org/mantis/view.php?id=7311
2014-09-23 17:27:27 +01:00
Justin Clark-Casey (justincc)
7ff27e32bc
Add cinderblocks and bobshaffer2 to contributors.
2014-09-23 17:27:22 +01:00
Justin Clark-Casey (justincc)
89c153ca7f
Fix issues where setting llSetTextureAnim(FALSE... did not work properly).
...
I ended up amalgamating patches from http://opensimulator.org/mantis/view.php?id=7313 and http://opensimulator.org/mantis/view.php?id=7318
Thanks a lot to both bobshaffer2 and cinderblocks.
2014-09-23 17:27:18 +01:00
Justin Clark-Casey (justincc)
a6c79fe956
Fix regression from recent a02dae5
where stand positions are no longer correct when a sit target is specified.
...
Adjusts stand position using just avatar position relative to the root prim instead.
Fixes http://opensimulator.org/mantis/view.php?id=7315 and preserves previous fix for http://opensimulator.org/mantis/view.php?id=7299
2014-09-23 17:27:13 +01:00
Justin Clark-Casey (justincc)
1e5c3f26f0
Make BulletSim thread be ThreadPriority.Highest if running
...
Will only effect Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 applied
For test purposes
2014-09-16 18:32:36 +01:00
Justin Clark-Casey (justincc)
e6df61fbe9
Make outboudn and packet inbox handling threads highest priority.
...
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-09-16 18:27:08 +01:00
Justin Clark-Casey (justincc)
5991a98d80
Set ThreadPriority on main scene thread to highest.
...
This will only have an effect on Windows systems or mono with the (not recommended) mono-3.2.8 debug patch https://gist.github.com/justincc/31e52218d098529b4696 applied
2014-09-16 18:17:05 +01:00
Justin Clark-Casey (justincc)
c4ed67aeee
Make proper fix for last commit wrt Mantis 7317 by replacing disallowed c char and not literal 'c'
2014-09-09 18:55:38 +01:00
Justin Clark-Casey (justincc)
258de1f17f
For stat names containing periods, replace with '#' rather than throw exception
...
In relation to http://opensimulator.org/mantis/view.php?id=7317
2014-09-09 18:52:07 +01:00
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