Dan Lake
14646f2524
Fix line endings
2011-10-30 23:43:17 -07:00
Dan Lake
a85ff884d9
Experimental reorder of Heartbeat loop now simulates physics and sends updates to clients prior to sleep. Existing behavior was to sleep BEFORE sending updates. We found this patch reduced latency to clients by 1-2 heartbeat periods.
2011-10-30 23:39:39 -07:00
Justin Clark-Casey (justincc)
6d97545b6b
Remove the SyncRoot locking from Scene which was only being done around the main physics loop and ScenePresence position and velocity setting
...
This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this). BSCharacter was already tainting.
2011-10-29 02:42:53 +01:00
Justin Clark-Casey (justincc)
61e97ee4c8
Remove completely unused SOG.Rotation parameter
...
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Justin Clark-Casey (justincc)
c2da1c4580
set grp.RootPart.GroupPosition for code consistency (and readability) rather than calling SOP.OffsetForNewRegion
2011-10-28 23:43:31 +01:00
Justin Clark-Casey (justincc)
9bf8c3e7b7
Add missing doc to rotation/position methods in SOG
2011-10-28 23:38:57 +01:00
Justin Clark-Casey (justincc)
0fe756e42c
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-10-28 23:16:46 +01:00
Justin Clark-Casey (justincc)
7b46506822
fetch SOP.RotationOffset once in UpdateRotation() and compare rather than fetch four separate times.
...
No functional change.
2011-10-28 23:15:51 +01:00
Dan Lake
06577d7299
Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence.
2011-10-27 01:25:12 -07:00
Dan Lake
b98613091c
Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
2011-10-27 00:42:21 -07:00
Justin Clark-Casey (justincc)
820242bc49
Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision.
2011-10-27 02:05:59 +01:00
Justin Clark-Casey (justincc)
c825c9a945
Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc)
5d37f0471e
For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
...
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25 22:19:17 +01:00
Justin Clark-Casey (justincc)
8a0a78cbcc
Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.
...
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-25 20:24:21 +01:00
Justin Clark-Casey (justincc)
e28e2d24c7
Add new EventQueueTests with basic test to check that adding a client registers an http poll
2011-10-24 22:23:41 +01:00
Justin Clark-Casey (justincc)
b868328d51
Comment out the uuid gatherer lines that I accidentally left in.
2011-10-23 03:14:32 +01:00
Justin Clark-Casey (justincc)
ffdf59a57c
Get UUIDGatherer to scan notecards in the graph for asset uuids.
...
This is to support npc baked texture saving in oars and iars.
May address http://opensimulator.org/mantis/view.php?id=5743
2011-10-22 02:16:46 +01:00
Justin Clark-Casey (justincc)
9c43020876
Get OdeScene to use passed in time step rather than hard-coded 0.089
...
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20 20:48:51 +01:00
Justin Clark-Casey (justincc)
6837e44d07
Pass PhysicsScene.Simulate() only the MinFrameTime rather than the useless Math.Max(SinceLastFrame.TotalSeconds, MinFrameTime)
...
SinceLastFrame was calculating the interval between any sleep that had occurred to pad out the frame time and the start of the next frame.
This would usually be below MinFrameTime but occasionally if the sleep was long it would be above, often due to the time required to update the watchdog.
This doesn't appear to play much practical role right now.
ODE was actually ignoring it entirely. Bullet might be helped slightly by receiving a non-varying value.
2011-10-20 19:44:59 +01:00
Dan Lake
9ab2943abf
Removed redundant NotInTransit function from ScenePresence. IsInTransit=false does the same thing and NotInTransit was not used anywhere.
2011-10-19 15:50:09 -07:00
Dan Lake
eac29396d9
Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line endings from previous commit.
2011-10-19 15:38:25 -07:00
Dan Lake
da794f34a5
Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID.
2011-10-19 14:41:44 -07:00
Justin Clark-Casey (justincc)
aeb4ff0274
Allow an avatar to be explicitly named to the "debug packet" command
2011-10-17 20:58:23 +01:00
Justin Clark-Casey (justincc)
120114e96b
refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter without a getter
2011-10-17 20:50:29 +01:00
Justin Clark-Casey (justincc)
62a63f834b
refactor: Use SOP.SitTargetAvatar instead of calling a special GetAvatarOnSitTarget() which returned exactly the same thing
2011-10-17 02:04:20 +01:00
Justin Clark-Casey (justincc)
0c041ce12f
Implement osNpcSit(). This is still in development so don't trust it
...
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Justin Clark-Casey (justincc)
b9930a6305
improve method doc on Scene.OtherRegionUp()
...
this is really just to trigger panda.
2011-10-15 03:17:58 +01:00
Justin Clark-Casey (justincc)
ddf54b5537
move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with the others
2011-10-15 03:03:05 +01:00
Justin Clark-Casey (justincc)
528cc8136e
fetch physical_prim switch from [Startup] config from inside scene, as is done for most other scene config params
2011-10-15 02:54:43 +01:00
Justin Clark-Casey (justincc)
5ddefc2564
remove now redundant m_physical_prim flag from SOP.ApplyPhysics()
2011-10-15 02:47:27 +01:00
Justin Clark-Casey (justincc)
3843efe478
Restore [Startup] physical_prim flag which can stop any prims being subject to physics
...
This had stopped working. However, at the moment it still allows the physics flag to be set even though this has no effect. This needs to be fixed.
Default for this flag is true as previously.
2011-10-15 02:42:43 +01:00
Justin Clark-Casey (justincc)
f2889d7ce9
remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its done immediately afterwards in DoPhysicsPropertyUpdate()
2011-10-15 02:12:46 +01:00
Justin Clark-Casey (justincc)
732e937379
refactor: Remove redundant code in SOP.UpdatePrimFlags()
2011-10-15 02:07:05 +01:00
Justin Clark-Casey (justincc)
c93c9ea072
factor common code out into SOP.RemoveFromPhysics()
2011-10-15 02:02:39 +01:00
Justin Clark-Casey (justincc)
aa19ccf65c
refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims.
2011-10-14 01:45:46 +01:00
Justin Clark-Casey (justincc)
4e7d4330c2
Expose minimum frame time and update periods for experimentation.
...
Settings are at bottom of [Startup] in OpenSimDefaults.ini, override in OpenSim.ini to change
Defaults are the same as previously.
More information to come on opensim-dev shortly.
Feel free to tweak but if you do please don't expect any support unless feedback on certain tweaks is explicitly requested.
2011-10-13 23:47:37 +01:00
Justin Clark-Casey (justincc)
128d8dfd8b
refactor: Put the frame update period when temporary objects are cleaned up in a field, like all the other update periods
2011-10-13 22:28:42 +01:00
Justin Clark-Casey (justincc)
fd274a6688
refactor: chain the two scene constructors together to eliminate more copypasta
2011-10-13 22:21:03 +01:00
Justin Clark-Casey (justincc)
a6fa15e8b6
Tie reported FPS correction factor into the minimum frame time rather than setting separately.
...
This makes reported FPS scale as required if min frame time changes
2011-10-13 22:07:55 +01:00
Justin Clark-Casey (justincc)
ceb326284e
Move fps stat adjustment factor into field rather than hard-coded.
2011-10-13 21:55:51 +01:00
Justin Clark-Casey (justincc)
f08664f422
remove some mono compiler warnings
2011-10-12 21:54:25 +01:00
Justin Clark-Casey (justincc)
fe3594c5ea
Start recording object updates per second statistic (analogue of agent updates per secod) and expose via monitoring module as ObjectUpdatePerSecondMonitor
...
A useful diagnostic to find out how object updates are burdening a scene
2011-10-11 22:17:05 +01:00
Justin Clark-Casey (justincc)
62aad4c18f
Add other region stats (total frame time, physics fps, etc.) currently missing from MonitorModule
...
Unlike the other 3 stats mechanisms, monitor data can be queried per individual region, which makes this useful.
This doesn't affect an of the existing monitored stats.
2011-10-10 23:48:53 +01:00
Justin Clark-Casey (justincc)
19096bd391
Convert getLastReportedSimFPS() and getLastReportedSimStats() into more idiomatic LastReportedSimFPS and LastReportedSimStats on SimStatsReporter
2011-10-10 22:23:42 +01:00
Justin Clark-Casey (justincc)
2b290793ab
refactor: have lsl and ossl interrogate scene.StatsReporter directly rather than going through scene
...
I know this goes against the law of demeter but I don't think it's that useful here and I'd rather get rid of nasty little wrapper methods
2011-10-10 21:54:08 +01:00
Justin Clark-Casey (justincc)
ff80113534
Go back to lying that sim fps is 55 when it's actually locked at a maximum of 11.
...
We're been lying since 2008 so I'm sure another few years can't hurt.
To know the real fps, either divide sim fps by 5 and/or look at the frame time.
2011-10-08 00:15:15 +01:00
Justin Clark-Casey (justincc)
e3c522e211
Comment out [SCENE PRESENCE] SendAppearanceToAllOtherAgents: log message
...
As per earlier discussions with dslake
2011-10-07 20:51:26 +01:00
Dan Lake
4b46b7a5ad
Fixed line endings from previous commit
2011-10-06 23:20:51 -07:00
Dan Lake
f26a966b8e
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-10-06 22:50:03 -07:00
Dan Lake
4748c19bdb
Refactored "known child region" in ScenePresence. There were 4 different
...
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
2011-10-06 22:47:33 -07:00