Commit Graph

2724 Commits

Author SHA1 Message Date
Melanie
6bdd6ae0a0 Merge branch 'master' into htb-throttle 2009-10-14 23:31:38 +01:00
Diva Canto
bea13e3709 Setting changeY in border crossing. 2009-10-14 11:01:46 -07:00
Melanie
d83ace0d3b Merge branch 'master' into htb-throttle 2009-10-14 05:10:43 +01:00
Dan Lake
5976ac16b0 Optimized heartbeat by calling Update() only on updated objects.
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.
2009-10-13 19:32:59 -07:00
Teravus Ovares (Dan Olivares)
31a61bbeec * Fixes some prim crossings on megaregions with regions beyond the 512m mark
* There's a slight chance that this could cause a problem with regular prim crossings..   but hopefully not.     Revert if it does.
2009-10-13 22:03:53 -04:00
John Hurliman
dc11643c00 * Consolidated adding / removing ClientManager IClientAPIs to two places in Scene
* Added some missing implementations of IClientAPI.RemoteEndPoint
* Added a ClientManager.Remove(UUID) overload
* Removed a reference to a missing project from prebuild.xml
2009-10-13 17:33:45 -07:00
John Hurliman
23a334b9f5 * Rewrote ClientManager to remove Lindenisms from OpenSim core, improve performance by removing locks, and replace LLUDPClientCollection
* Removed the confusing (and LL-specific) shutdowncircuit parameter from IClientAPI.Close()
* Updated the LLUDP code to only use ClientManager instead of trying to synchronize ClientManager and m_clients
* Remove clients asynchronously since it is a very slow operation (including a 2000ms sleep)
2009-10-13 14:50:03 -07:00
John Hurliman
c893761319 * Unregister event handlers in LLUDPServer when a client logs out and disconnects
* Move ViewerEffect handling to Scene.PacketHandlers
* Removing the unused CloseAllAgents function
* Trimming ClientManager down. This class needs to be reworked to keep LLUDP circuit codes from intruding into the abstract OpenSim core code
2009-10-13 12:50:59 -07:00
Diva Canto
0cfbdf3894 Added this one file for the previous commit to work. 2009-10-12 17:01:03 -07:00
Diva Canto
c0beeb929e * Fixes http://opensimulator.org/mantis/view.php?id=4225
* Fixes http://opensimulator.org/mantis/view.php?id=3959
* Allows for viewing inventory textures outside home grid
2009-10-12 17:00:01 -07:00
Melanie
170d2c4660 Merge branch 'master' into htb-throttle 2009-10-12 15:25:42 +01:00
Melanie
70553a979e Merge branch 'master' into vehicles 2009-10-12 15:12:15 +01:00
Melanie
50f509d600 Merge branch 'master' into vehicles 2009-10-12 15:11:01 +01:00
Diva Canto
ef6aa444bf Fixed tree crossing. This will alleviate
http://opensimulator.org/mantis/view.php?id=4163
2009-10-11 13:46:19 -07:00
Melanie
5e6e31591c Merge branch 'master' into htb-throttle
This is hand-edited to not let master changes creep into here and may cause a
somewhat rocky merge to master later.
2009-10-10 10:26:47 +01:00
Teravus Ovares (Dan Olivares)
8271528b1f * comment out the velocity test, using updates every 500 ms as set in ScenePresence.AddToPhysicalScene.
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms.
* This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
2009-10-10 04:01:36 -04:00
Teravus Ovares (Dan Olivares)
3f0dc88c46 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-10-10 03:54:10 -04:00
Teravus Ovares (Dan Olivares)
4ffe936ba8 * Make ODECharacter respect the scene's requested collision update time
* Set the Scene collision update time to 500 ms
2009-10-10 03:53:53 -04:00
dahlia
d7654c3bda Adjust velocity threshold for triggering flailing. Thanks to KittoFlora for researching this. 2009-10-10 00:26:43 -07:00
Teravus Ovares (Dan Olivares)
5f94889044 * Fix incorrect math on the Velocity check in PhysicsCollisionUpdate. This may reduce avatar flailing. 2009-10-10 01:49:06 -04:00
Teravus Ovares (Dan Olivares)
798bce592f * Move the 'On Collision Update Movement Animation' routine to above the 'm_invulnerable' test. It doesn't fix anything but it should really be there anyway. 2009-10-10 01:16:34 -04:00
John Hurliman
77e48a6725 Change the backup thread to run on a BackgroundWorker instead of a Thread. I don't have an explanation, but this seems to stop a slow but steady memory leak I was experiencing 2009-10-09 02:49:55 -07:00
Melanie
f6b8bac0fa Merge branch 'master' into vehicles 2009-10-08 10:32:15 +01:00
Melanie
a52f6c56b1 Merge branch 'master' into htb-throttle 2009-10-07 05:19:20 +01:00
Diva Canto
d344ca932d A small change in FetchInventoryDescendantsCAPS. 2009-10-06 22:19:20 -07:00
Diva Canto
8c255b374a Uncommented log message on CAPs FetchInventoryDescendants 2009-10-06 21:32:15 -07:00
Diva Canto
58c33fbc89 Uncommented log message on CAPs FetchInventoryDescendants 2009-10-07 04:32:35 +01:00
Diva Canto
b5b53dd3eb * One more debug message on FetchInventoryDescendants
* More streams close on finally
2009-10-06 19:55:35 -07:00
Melanie
6f2d183107 Merge branch 'master' into htb-throttle 2009-10-07 03:01:11 +01:00
Melanie
89d23a1fa2 Revert "Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed."
This reverts commit e992ca0255.
2009-10-07 01:45:49 +01:00
Melanie
9618c196c2 Revert "Merging in diva's locking fixes"
This reverts commit 832cc68513.
2009-10-07 01:44:36 +01:00
John Hurliman
832cc68513 Merging in diva's locking fixes 2009-10-06 15:54:00 -07:00
Diva Canto
e992ca0255 Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed. 2009-10-06 15:39:53 -07:00
John Hurliman
eb205ef4f0 Added a debug line for nebadon 2009-10-06 14:07:04 -07:00
John Hurliman
fa6027aa09 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-06 12:15:24 -07:00
Melanie
0374f1b144 Merge branch 'master' into vehicles 2009-10-06 17:44:59 +01:00
Melanie
40d0018d66 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-06 15:29:46 +01:00
Diva Canto
d4d060b57d Commenting the DEBUG code that I added yesterday, because it's causing mono to fail with
https://bugzilla.novell.com/show_bug.cgi?id=538854
2009-10-06 07:49:05 -07:00
Melanie
2a060136bd Lock the heartbeat against multiple invocations. May prevent deadlocks and/or
runaway thread use
2009-10-06 15:28:38 +01:00
John Hurliman
2519f071f2 Fixing a few compile errors in the previous commit 2009-10-06 02:50:59 -07:00
Diva Canto
0c46df973a Correction on the DEBUG code. 2009-10-05 21:02:10 -07:00
Diva Canto
e36a54ee2a #if DEBBUG code for monitoring the ThreadPool. 2009-10-05 20:39:23 -07:00
Melanie
0744292b47 Merge branch 'master' into vehicles 2009-10-05 10:17:23 +01:00
dahlia
efebc809ce disable physics actors for flexible prims 2009-10-04 02:54:36 -07:00
Melanie
6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
John Hurliman
387e9f7a7f * Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
Melanie
9eccea5777 Merge branch 'master' into vehicles 2009-10-02 19:53:42 +01:00
Melanie
46955f4260 Merge branch 'master' into vehicles 2009-10-02 19:04:46 +01:00
Melanie
ce8974539e Merge branch 'master' into diva-textures 2009-10-02 19:03:22 +01:00
dr scofield (aka dirk husemann)
2107b67f1b - cleaning up LandData/ILandObject capitalization issues
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00