Commit Graph

276 Commits

Author SHA1 Message Date
John Hurliman
4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
Melanie
6deef7d0f3 Merge branch 'master' into vehicles 2009-10-15 21:14:13 +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
Melanie
46955f4260 Merge branch 'master' into vehicles 2009-10-02 19:04:46 +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
Melanie
212e132e79 Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af.
2009-10-02 00:47:01 +01:00
Melanie
d6301db382 Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
This reverts commit 39842eb4af.
2009-10-02 00:45:31 +01:00
Melanie
41ff39414b Merge branch 'master' into vehicles 2009-10-01 14:08:15 +01:00
John Hurliman
cb26878f96 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-09-30 17:51:34 -07:00
Jeff Ames
606e831ff5 Formatting cleanup. 2009-10-01 09:38:36 +09:00
John Hurliman
acfe2d9f4e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-09-30 15:28:23 -07:00
Kitto Flora
07df0e0ab0 Merge branch '0.6.7-post-fixes' into vehicles 2009-09-30 19:07:18 +02:00
opensim
827b0fb199 Commit initial version of KittoFlora's vehicle changes 2009-09-30 18:51:02 +02:00
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Teravus Ovares (Dan Olivares)
2bb513329a * Does a full battery of tests to ensure that the object isn't an attachment 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.
2009-09-25 16:06:04 -04:00
John Hurliman
39842eb4af * Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity 2009-09-16 17:17:40 -07:00
John Hurliman
f42d085ab1 SceneObjectGroup cleanup. Removes the default constructor and unnecessary null checks on m_rootPart 2009-09-16 15:06:08 -07:00
Teravus Ovares (Dan Olivares)
9505297fb1 * One last attempt to get the bordercrossing/primcrossing/attachmentcrossing 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.
2009-09-02 04:39:00 -04:00
Melanie
f32de6fe88 Thank you, dslake, for a set of patches to improve OpenSim startup
and idle performance.
2009-09-02 03:33:31 +01:00
Teravus Ovares (Dan Olivares)
b997174d08 * Fix attachment cross issues with new borders. 2009-08-31 20:07:33 -04:00
Teravus Ovares (Dan Olivares)
66c40dd3de * Switch border cross tests over to the new Border class.
* Use List<Border> for each cardinal to allow for irregular regions.
2009-08-20 19:24:31 -04:00
Diva Canto
e02062051d Making attachments work again. Tons of debug more. This needs more testing and a lot of cleaning. 2009-08-16 16:17:19 -07:00
Diva Canto
6808b9109e Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim into inventory-connector 2009-08-16 08:59:58 -07:00
Jeff Ames
9d9fcac038 Misc cleanup. 2009-08-16 17:14:21 +09:00
Diva Canto
1bbf06405c Changed FromAssetID to FromItemID 2009-08-15 09:36:45 -07:00
Diva Canto
ea940d98f9 Added ToXml2() to ISceneObject, so that components other than regions can use this abstraction. 2009-08-06 16:41:24 -07:00
Melanie
17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
lbsa71
169a353cca * minor ccc 2009-07-24 06:59:27 +00:00
Teravus Ovares
bb4b81d70f * patch from jonc
* Fixes scaling a group in some situations.
* fixes mantis #3886
* Thanks jonc!
2009-07-17 21:32:35 +00:00
MW
acea31518b fixed the bug where changing the rotation of a selection of prims in a 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.]
2009-07-17 14:58:54 +00:00
MW
a266e6dc4b Bounding Box/find rez from inventory point code now seems to be working correctly.
So next step is to clean up that code and wait for bug reports.
2009-07-15 19:46:32 +00:00
MW
856d5f4375 Yet more work on fixing the boundingbox code. 2009-07-15 18:55:28 +00:00
MW
3a72531e4c More fixing of the boundingbox code.
Still more work needed to get linksets to rezz correctly (not in the ground)
2009-07-15 10:42:27 +00:00
MW
08d4fffdfd A attemp to fix the boundingBox code that I committed the other day. 2009-07-15 10:26:12 +00:00
Melanie Thielker
fb4067c844 A stab at implementing llSetDamage. Not persistent. 2009-07-15 00:10:01 +00:00
MW
58b05e5cbe A commit to retrigger panda 2009-07-13 15:14:44 +00:00
MW
c4318136ba Changed it so that when rezzing prims from inventory, a bounding box 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. 2009-07-13 14:42:46 +00:00
Charles Krinke
8344df886b Thank you kindly, AnakinLohner, for a patch that addresses:
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
2009-07-02 16:02:18 +00:00
Sean Dague
49f89dd758 make methods surounding backup virtual so they could be override for server side created objects 2009-07-02 12:00:39 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dahlia Trimble
179724b4fc some clean up of sculpt map caching code
remove a redundant debug message
2009-05-29 08:57:10 +00:00
Dahlia Trimble
05cbf0b502 reinstate a hopefully more robust experimental decoded sculpt map caching scheme 2009-05-29 06:50:15 +00:00
Dahlia Trimble
1609e7eac0 disable sculpt map caching until a better method of avoiding asset requests can be found 2009-05-29 05:11:50 +00:00
Dahlia Trimble
db4f8d1298 Experimental decoded sculpt map caching 2009-05-29 02:46:35 +00:00
diva
5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- 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
2009-05-15 05:00:25 +00:00
Justin Clarke Casey
303aa4b65e * refactor: move bottom part of 'xml2' serializaton to separate class 2009-05-14 18:08:54 +00:00
Justin Clarke Casey
d10b5e29bc * refactor: break some of xml2 serialization out of sog 2009-05-14 16:33:04 +00:00
Justin Clarke Casey
567e0d032c * break out 'xml2' deserialization from sog 2009-05-08 19:18:37 +00:00
Justin Clarke Casey
9f39a490b5 * refactor: break out sog original xml serialization to a separate class 2009-05-08 18:05:54 +00:00
Justin Clarke Casey
032e3b49eb * refactor: Break out original xml object serialization into a separate class
* No functional change
2009-05-08 15:47:59 +00:00