aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Glue code for a couple of new LSL function implementationsMelanie2009-12-221-0/+39
|
* Remove extra forced updates. They're not needed for each prim. Really.Melanie2009-12-061-8/+8
|
* Eliminate multiple updates on link/unlinkMelanie2009-12-061-4/+4
|
* * Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set ↵Teravus Ovares (Dan Olivares)2009-12-031-1/+3
| | | | | | | 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'.
* Reset update flag when a SOG is deleted. This fixes llDie();Melanie2009-11-271-0/+1
|
* Remove the old (Remoting) region crossing code. Fix the new code toMelanie2009-11-261-11/+0
| | | | | | | | | | 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.
* Make GroupRootUpdate be a terse update. This method is not used by opensim ↵Diva Canto2009-11-141-2/+2
| | | | (it should), but it's used by external modules.
* Removing EntityBase.RotationJohn Hurliman2009-11-041-0/+8
|
* Another race condition fix in SceneObjectGroupJohn Hurliman2009-11-021-7/+11
|
* Small performance tweaks to code called by the heartbeat loopJohn Hurliman2009-10-281-15/+2
|
* Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman2009-10-281-2/+2
|
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-261-14/+12
|
* Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman2009-10-251-1/+1
| | | | | | | | | | 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
* Implemented a "FrontBack" prioritizer, using distance plus the plane ↵John Hurliman2009-10-231-3/+30
| | | | equation to give double weight to prims/avatars in front of you
* Experimental change to use an immutable array for iterating ScenePresences, ↵John Hurliman2009-10-231-2/+2
| | | | avoiding locking and copying the list each time it is accessed
* Merge branch 'master' into vehiclesMelanie2009-10-221-2/+74
|\
| * * Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). ↵John Hurliman2009-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Object update prioritization by Jim Greensky of Intel Labs, part one. This ↵John Hurliman2009-10-151-1/+73
| | | | | | | | implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
* | Merge branch 'master' into vehiclesMelanie2009-10-151-9/+6
|\ \ | |/
| * Optimized heartbeat by calling Update() only on updated objects.Dan Lake2009-10-131-9/+6
| | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into vehiclesMelanie2009-10-021-6/+6
|\ \ | |/
| * - cleaning up LandData/ILandObject capitalization issuesdr scofield (aka dirk husemann)2009-10-021-6/+6
| | | | | | | | - adding LandDataSerializer to OAR mechanics
| * Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization ↵Melanie2009-10-021-23/+7
| | | | | | | | | | | | of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity" This reverts commit 39842eb4af3b5a8c52d56c0f7f05ad54f0651bb0.
* | Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization ↵Melanie2009-10-021-23/+7
| | | | | | | | | | | | of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity" This reverts commit 39842eb4af3b5a8c52d56c0f7f05ad54f0651bb0.
* | Merge branch 'master' into vehiclesMelanie2009-10-011-20/+36
|\ \ | |/
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-09-301-1/+1
| |\
| | * Formatting cleanup.Jeff Ames2009-10-011-1/+1
| | |
| * | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-09-301-13/+18
| |\ \ | | |/
| | * Formatting cleanup.Jeff Ames2009-10-011-12/+12
| | |
| * | * Adding Scale to EntityBase * Fixing the incorrect initialization of ↵John Hurliman2009-09-161-7/+23
| | | | | | | | | | | | EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity
* | | Merge branch '0.6.7-post-fixes' into vehiclesKitto Flora2009-09-301-1/+6
|\ \ \ | | |/ | |/|
| * | * Does a full battery of tests to ensure that the object isn't an attachment ↵Teravus Ovares (Dan Olivares)2009-09-251-1/+6
| |/ | | | | | | | | | | | | 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.
* | Commit initial version of KittoFlora's vehicle changesopensim2009-09-301-15/+27
|/
* SceneObjectGroup cleanup. Removes the default constructor and unnecessary ↵John Hurliman2009-09-161-82/+28
| | | | null checks on m_rootPart
* * One last attempt to get the bordercrossing/primcrossing/attachmentcrossing ↵Teravus Ovares (Dan Olivares)2009-09-021-3/+3
| | | | | | 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.
* Thank you, dslake, for a set of patches to improve OpenSim startupMelanie2009-09-021-4/+3
| | | | and idle performance.
* * Fix attachment cross issues with new borders.Teravus Ovares (Dan Olivares)2009-08-311-0/+18
|
* * Switch border cross tests over to the new Border class.Teravus Ovares (Dan Olivares)2009-08-201-1/+3
| | | | * Use List<Border> for each cardinal to allow for irregular regions.
* Making attachments work again. Tons of debug more. This needs more testing ↵Diva Canto2009-08-161-0/+1
| | | | and a lot of cleaning.
* Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim into ↵Diva Canto2009-08-161-38/+13
|\ | | | | | | inventory-connector
| * Misc cleanup.Jeff Ames2009-08-161-38/+13
| |
* | Changed FromAssetID to FromItemIDDiva Canto2009-08-151-9/+9
|/
* Added ToXml2() to ISceneObject, so that components other than regions can ↵Diva Canto2009-08-061-0/+6
| | | | use this abstraction.
* Add plumbing for the SceneObjectDeleter to wait for the script engine toMelanie2009-08-041-0/+11
| | | | allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
* * minor ccclbsa712009-07-241-1/+7
|
* * patch from joncTeravus Ovares2009-07-171-2/+2
| | | | | | | * Fixes scaling a group in some situations. * fixes mantis #3886 * Thanks jonc!
* fixed the bug where changing the rotation of a selection of prims in a ↵MW2009-07-171-3/+67
| | | | | | | | | 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.]
* Bounding Box/find rez from inventory point code now seems to be working ↵MW2009-07-151-5/+18
| | | | | | | correctly. So next step is to clean up that code and wait for bug reports.
* Yet more work on fixing the boundingbox code.MW2009-07-151-11/+21
|
* More fixing of the boundingbox code.MW2009-07-151-8/+9
| | | | | Still more work needed to get linksets to rezz correctly (not in the ground)