| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
chaotic while ppl are using different versions of opensim. Warning only, but no enforcement.
|
| |
|
| |
|
| |
|
|
|
|
| |
initialized in the tests!
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Revert "Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4."
This reverts commit 682537738008746f0aca22954902f3a4dfbdc95f.
|
|
|
|
| |
all FireAndForgets throughout CompleteMovement. There were 4.
|
|
|
|
|
|
| |
we found the root of the rez delay: the priority scheme BestAvatarResponsiveness, which is currently the default, was the culprit. Changing it to FrontBack made the region rez be a lot more natural.
BestAvatarResponsiveness introduces the region rez delay in cases where the region is full of avatars with lots of attachments, which is the case in CC load tests. In that case, the inworld prims are sent only after all avatar attachments are sent. Not recommended for regions with heavy avatar traffic!
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
in order to avoid a race condition.
A separate PhysicsActor variable is used in case some other thread removes the PhysicsActor whilst this code is executing.
If this is now impossible please revert - just adding this now whilst I remember.
Also makes method comment into proper method doc.
|
|/
|
|
|
|
|
|
| |
TriggerOnMakeRootAgent to the end of CompleteMovement.
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture.
Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement.
Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
|
|
|
|
|
| |
collision events. Improve logic for knowing when to add processing
routine to physics actor.
|
|
|
|
| |
uncommented.
|
|\ |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
|
| |/
|/|
| |
| | |
test.
|
|/
|
|
| |
'/'. What a nightmare this '/' is!
|
|
|
|
| |
like other handlers instead of implementing the IStreamedRequestHandler interface directly
|
|
|
|
| |
which checks for addition and removal of capabilities on add/remove of child agent
|
|
|
|
| |
requesting this for all landmarks in inventory. Not sure why. But this seems to be the root cause of the login freeze mentioned before. This commit adds a blocking queue / process thread pattern.
|
| |
|
|
|
|
|
|
|
| |
"debug lludp" options
also moves the implementing code into LLUDPServer.cs along with other debug commands from OpenSim.cs
gets all debug lludp commands to only activate for the set scene if not root
|
| |
|
|
|
|
|
|
|
| |
UuidGatherer for now.
This cannot be triggered as an event from Scene.EventManager since some invocations of UuidGatherer (e.g. IAR saving) use scene objects which are not in scenes.
There needs to be some way for modules to register for events which are not connected with a particular scene.
|
|
|
|
|
|
| |
MaterialsDemoModule from UuidGatherer
This code is now triggered via EventManager.OnGatherUuids which modules can subscribe to.
|
|
|
|
|
|
|
|
| |
This is in order to reduce the likelihood of naming clashes, make it easier to filter in/out attributes, ensure uniformity, etc.
All dynattrs in the opensim distro itself or likely future ones should be in the "OpenSim" namespace.
This does alter the underlying dynattrs data structure. All data in previous structures may not be available, though old structures should not cause errors.
This is done without notice since this feature has been explicitly labelled as experimental, subject to change and has not been in a release.
However, existing materials data is being preserved by moving it to the "Materials" store in the "OpenSim" namespace.
|
|
|
|
|
|
|
| |
other prims to be set to very far off positions on reattach.
Functionally the same as the patch by tglion in http://opensimulator.org/mantis/view.php?id=5334
However, not yet perfect - after editing just root prim on reattach the position is still wrong, though other prims are not set to far off positions.
|
|
|
|
| |
structs
|
|\ |
|
| |
| |
| |
| | |
messages should be transient without an OK button
|
|/ |
|
|
|
|
| |
start running when pulled from data storage.
|
|
|
|
|
|
| |
or removed. Shouldn't impact anyone as only DSG seems to use
OnScenePresenceUpdated event.
Some minor format changes to AnimationSet's ToString().
|
|
|
|
|
|
|
| |
there's still something wrong with keyframed motion starting when the sim starts up, you have to 'select' and 'deselect' the prim again to get it to appear to move. Not sure what this is but maybe melanie_t can comment on this.
* Has a prim table migration.. that might take a while, hold on to your hats.
* Fixes a null-ref when shutting down while keyframed motion is active.
|
|
|
|
|
|
|
|
| |
neighbour region on root agent close.
This was introduced in git master d214e2d0 (Thu May 16 17:12:02 2013)
Caught out by the fact that value types used in iterators act like references and this was dispatched asynchronously.
Should address http://opensimulator.org/mantis/view.php?id=6658
|
| |
|
|
|
|
| |
may yield unexpected results in some cases. No database persistence yet,
|
|
|
|
| |
do nothing. More commits to follow.
|
|
|
|
|
|
|
|
| |
ScriptInstance.m_Scripts lock then a lock on SP.m_attachments whilst SP.MakeRootAgent() attempts to take in the opposite order.
This is because scripts (at least on XEngine) start unsuspended - deceptively the ResumeScripts() calls in various places in the code are actually completely redundant (and useless).
The solution chosen here is to use a copy of the SP attachments and not have the list locked whilst creating the scripts when an avatar enters the region.
This looks to address http://opensimulator.org/mantis/view.php?id=6557
|
| |
|
|
|
|
|
| |
display of groups of animations (Equal(), ToString(), FromOSDArray(), ...).
No functional change to animations.
|
|
|
|
| |
This allows object modification before the usual heartbeat operation.
|
|
|
|
|
|
|
|
|
| |
some reason (e.g. because it has a sit target), then send the actual sit prim UUID to the viewer rather than the requested one.
This purports to fix the issue described in http://opensimulator.org/mantis/view.php?id=6653 where the camera can end up following the requested sit prim rather than the actual.
The original spot was by Vegaslon, this commit just goes about it in a slightly different way
This commit also makes m_requestedSitTargetUUID to be the actual UUID, which is consistent with m_requestedSitTargetID which was already doing this.
However, this adjustment has no practical effect since we only currently need to know that there's any requested sit UUID at all, not which one it is.
|