| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Applied with whitespace cleanup
Signed-off-by: Melanie <melanie@t-data.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
this for each region in your Regions.ini[PhysicalPrimMax = 10(default)])
* Adds a configurable maximum object mass before the mass is clamped. Default is 10000.01. Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section.
* Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations. Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
|
|
|
|
| |
(it should), but it's used by external modules.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
| |\ \
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | | |
EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity
|
|\ \ \
| | |/
| |/| |
|
| |/
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
inventory-connector
|
| | |
|
|/ |
|
|
|
|
| |
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.
|
| |
|