| Commit message (Collapse) | Author | Files | Lines |
|
|
|
Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff
* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()
* Improved the instantiation of PrimitiveBaseShape
|
|
equation to give double weight to prims/avatars in front of you
|
|
avoiding locking and copying the list each time it is accessed
|
|
This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference
* Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost
* Reordered some comparisons on hot code paths for a minor speed boost
* Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow)
* Don't fire the queue empty callback for the Resend category
* Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down
* Rewrote some expensive math in LandObject.cs
* Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible
* Only update the attachment database when an object is attached or detached
* Other small misc. performance improvements
|
|
implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
|
|
During the heartbeat loop, Update() is called on every SceneObjectGroup which in turn checks if any SceneObjectPart has changed. For large regions (> 100k prims) this work consumes 20-30% of a CPU even though there are only a few objects updating each frame.
There is only one other reason to check every object on every frame, and that is the case where a script has registered the object with an "at target" listener. We can easily track when an object is registered or unregistered with an AtTarget, so this is not a reason to check every object every heartbeat.
In the attached patch, I have added a dictionary to the scene which tracks the objects which have At Targets. Each heartbeat, the AtTarget() function will be called on every object registered with a listener for that event. Also, I added a dictionary to SceneGraph which stores references to objects which have been queued for updates during the heartbeat. At each heartbeat, Update() is called only on the objects which have generated updates during that beat.
|
|
- adding LandDataSerializer to OAR mechanics
|
|
of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af3b5a8c52d56c0f7f05ad54f0651bb0.
|
|
of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af3b5a8c52d56c0f7f05ad54f0651bb0.
|
|
|
|
|
|
|
|
before border crossing
* Fixes 'Inconsistent Attachment State' when teleporting into another region besides the SW most region slot on a MegaRegion.
* Fixes a host of other unintended attachment border cross edge cases that lead to Inconsistent attachment state.
|
|
EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity
|
|
null checks on m_rootPart
|
|
right in the new border framework.
* This also contains some inactive preliminary code for disconnecting combined regions that will be used to make one root region a virtual region of a new root region.
|
|
and idle performance.
|
|
|
|
* Use List<Border> for each cardinal to allow for irregular regions.
|
|
and a lot of cleaning.
|
|
|
|
|
|
use this abstraction.
|
|
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
|
|
|
|
* Fixes scaling a group in some situations.
* fixes mantis #3886
* Thanks jonc!
|
|
linkset, made each of those prims rotate around its own centre rather than around the geometric centre of the selection like they should do (and like the client expects).
This involved adding a new OnUpdatePrimSingleRotationPosition event to IClientAPI so that we can get the changed position from the client.
Btw adding new events to IClientAPI is really tedious where you have to copy the change across to at least 5 or 6 other files.
[Note this doesn't fix the bug where any rotation changes to the root prim (but not the whole linkset) cause rotation errors on the child prims.]
|
|
correctly.
So next step is to clean up that code and wait for bug reports.
|
|
|
|
Still more work needed to get linksets to rezz correctly (not in the ground)
|
|
|
|
|
|
|
|
containing all the prims in the group is used for working out the rezzing point. So that none of the child prims are underground. Or at least thats what it is meant to do, still needs more testing and there are still some issues with link sets getting rezzed too high above the ground/target prim.
|
|
The patch included updates the root and child prims' AttchedAvatar
with the right UUID. It also cleans the AttachedAvatar properties
for the root and child prims on Drop and Detach
|
|
side created objects
|
|
LICENSE.txt.
|
|
remove a redundant debug message
|
|
|
|
can be found
|
|
|
|
-- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems:
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
|
|
|
|
|
|
|
|
|
|
* No functional change
|
|
This makes re-rezzed temp-on-rez objects visible, too. Fixes Mantis #3405
|
|
arbitrary combinations of root and child prims from one or multiple
link sets. Please test throughly and consider things UNSTABLE until
this is proven out.
|