| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
char and not literal 'c'
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | | |
In relation to http://opensimulator.org/mantis/view.php?id=7317
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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).
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
have shown that this has better scalability.
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
|
| | | | |
| | | | |
| | | | |
| | | | | |
through Watchdog for monitoring and stat purposes.
|
| | | | |
| | | | |
| | | | |
| | | | | |
indepedently, so that it can be seen in "show threads" and stats
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
method is only run for an indepndent thread anyway.
Also remove bulletsim monitored thread from watchdog on shutdown.
|
| | | | |
| | | | |
| | | | |
| | | | | |
The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | | |
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
avatars are allowed to cross regions at all.
Defaults to true. For test purposes.
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
relative to the region rather than relative to its seat.
Resolves http://opensimulator.org/mantis/view.php?id=7175
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero.
This completes http://opensimulator.org/mantis/view.php?id=7177
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
return the avatar's rotation.
This is already the behaviour of OBJECT_POS.
Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
stand position.
Addresses http://opensimulator.org/mantis/view.php?id=7299
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
was not meant to indent the input xml
|
| | | |
| | | |
| | | |
| | | | |
non-root part.
|
| | | |
| | | |
| | | |
| | | | |
Vector3 copying in Scene - this is not necessary as Vector3 is a value type
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
still active.
|
| | | |
| | | |
| | | |
| | | | |
the various property checks.
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | | |
as connections aren't shared and transactions are already in place where necessary.
|
| | |
| | |
| | |
| | | |
connection is not shared.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
not shared.
|
| |/
|/|
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
inbound packets.
For test/debug purposes.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Also only write console lines for actually connected bots.
|
| |
| |
| |
| | |
Only present if OQRE is enabled
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
on a controlled number of threads rather than the threadpool.
Disabled by default. Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests. Added for testing purposes.
|
|/
|
|
|
|
|
| |
protected so that other logging code in the clientstack can record more useful information
Adds some commented out logging for use again in the future.
No functional change.
|
| |
|
|
|
|
| |
If you want to stop existing behavious, add the None behaviour.
|
|
|
|
|
|
|
| |
previous behaviour active
Also closes behaviours on disconnect instead of interrupt, though this makes no practical difference.
If existing behaviour is None, other added behavious will not take affect until None is removed (as this is an infinite wait until interrupted).
|
|
|
|
| |
closed on teleport, don't unnecessarily resend all avatar and object data about that region.
|
|
|
|
|
|
| |
neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
|