Commit Graph

11583 Commits (8b5d0122007b2a78544b742c35c628c35cdea552)

Author SHA1 Message Date
Dan Lake 33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
John Hurliman 5c894dac8b * Implemented foot collision plane for avatars
* Fixed a NullReferenceException regression
2009-10-29 05:34:40 -07:00
John Hurliman 3f2d6fe470 Ported the Simian avatar animation system to OpenSim. Landing is currently not working 2009-10-29 04:13:51 -07:00
John Hurliman fd2c99f184 Fixing NullReferenceException regression in the previous commit 2009-10-29 02:10:48 -07:00
John Hurliman 7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman 59eb378d16 Small performance tweaks to code called by the heartbeat loop 2009-10-28 23:10:16 -07:00
John Hurliman 1c9696a9d2 Always send a time dilation of 1.0 while we debug rubberbanding issues 2009-10-28 15:11:01 -07:00
John Hurliman a069a1ee68 Limit physics time dilation to 1.0 2009-10-28 14:44:05 -07:00
John Hurliman b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman c003f49432 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-28 12:45:56 -07:00
John Hurliman a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman ee0f7e10c8 Fixed a bad check on velocity in the ODE near() callback (it was only checking for velocity in certain directions, and was calling the get_Velocity() function three times) 2009-10-28 12:20:34 -07:00
Melanie 184e85cdec Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-28 18:26:31 +00:00
Melanie c17359fea5 Adding changes to previous patch to make it fit into core better 2009-10-28 18:25:37 +00:00
Fredo Chaplin bff0d75e0f patch kill by UUID
Signed-off-by: Melanie <melanie@t-data.com>
2009-10-28 18:09:50 +00:00
John Hurliman cdbeb8b83b Track timestamps when terse updates were last sent for a prim or avatar to avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way) 2009-10-28 03:21:53 -07:00
John Hurliman 587c35f6b6 Marking ImprovedTerseObjectUpdate packets for avatars as unthrottled to test 2009-10-28 02:30:16 -07:00
John Hurliman 2d470f8bde Switching sculpty from CSJ2K back to OpenJPEG for now until more kinks are ironed out 2009-10-28 01:48:53 -07:00
John Hurliman e31024f08b Print the exception message when CSJ2K decoding fails for sculpty textures 2009-10-28 01:30:39 -07:00
Mikko Pallari 8254256fe9 Modified visibilities of properties and methods. This is so that SL client based clients can use UDP server that is inherited from LLUDPServer. 2009-10-28 00:41:13 -07:00
John Hurliman 603e3650d3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-28 00:30:46 -07:00
John Hurliman 588c543299 Updating the OpenJPEG libraries to the versions from libomv 0.8.0 2009-10-28 00:29:40 -07:00
Diva Canto 79bf906e7d Changed True to true in OpenSim.ini.example. 2009-10-27 20:33:14 -07:00
Diva Canto 6a6a8df1ba Make map search work also for hyperlinked regions. 2009-10-27 20:32:48 -07:00
John Hurliman 76dc52dba4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-27 16:26:02 -07:00
John Hurliman 0c466b28bb Move the calculation of time dilation from the scene to the physics engine. The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking 2009-10-27 16:24:43 -07:00
Melanie 704bc08e5c Merge branch 'master' into vehicles 2009-10-27 21:17:08 +00:00
John Hurliman 12da4d4242 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-27 14:16:53 -07:00
John Hurliman f89c2cac0f Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks 2009-10-27 14:16:01 -07:00
Melanie d068d108ad Remove the SECS loader 2009-10-27 21:11:10 +00:00
Justin Clark-Casey (justincc) d3cb1c6b33 Bump required Mono version in README up to 2.4.2 2009-10-27 20:57:17 +00:00
John Hurliman 27ee49f198 Updating prebuild.xml to reflect the removal of DotNetEngine 2009-10-27 13:44:23 -07:00
John Hurliman 2525810e2a Removed the DotNetEngine scripting engine. You will need to create a fresh checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward 2009-10-27 13:31:04 -07:00
Melanie 0d37883bfd Merge branch 'master' into vehicles 2009-10-27 20:28:12 +00:00
Melanie 92f7521983 Remove the rest of SECS. It was never used, except by an experimental version
of the DotNetEngine that was never runnable.
2009-10-27 20:25:54 +00:00
John Hurliman fefe767476 Lowering the position tolerance of terse updates for ScenePresences to mitigate some of the rubberbanding issues while we are sending incorrect time dilation values 2009-10-27 13:16:58 -07:00
John Hurliman a718d7d56a Making the defaults for interest management variables match whether you have the [InterestManagement] section in your config or not 2009-10-27 10:17:20 -07:00
John Hurliman bcd7593dfb Forgot a line in the previous commit 2009-10-27 10:07:35 -07:00
Melanie 31a848e97b Merge branch 'master' into vehicles 2009-10-27 11:32:11 +00:00
John Hurliman 3a1ee79ee4 Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool 2009-10-27 02:36:57 -07:00
John Hurliman b498693cff * Tweak to region module loading to check for a matching constructor first instead of throwing and catching exceptions
* Commenting out the MySQL startup sequence that cleans out dropped attachments under the advice that it is no longer relevant. If anything, it could be brought back as a database cleanup console command
* Updated to the latest libomv 0.8.0-pre. UUID.TryParse() will no longer throw and catch exceptions for most failed UUID parses
2009-10-27 01:46:14 -07:00
John Hurliman c75d415648 * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode
* Minor code readability cleanup
2009-10-27 00:26:56 -07:00
John Hurliman 322b39804d Adding missing CSJ2K reference to OpenSim.Region.Physics.Meshing 2009-10-26 22:05:07 -07:00
John Hurliman f5cad91578 * Switched from OpenJPEG to CSJ2K in Meshmerizer
* Tested the previous patch and found no regressions
2009-10-26 19:03:55 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
John Hurliman b6651ce790 * Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene
* Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
2009-10-26 18:22:32 -07:00
John Hurliman 0b1726b524 Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on 2009-10-26 16:48:43 -07:00
John Hurliman 4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman 119cf80e13 Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system 2009-10-26 15:52:59 -07:00
Dan Lake 428bd7a74b No need to create dupe TriMeshData for ODE. A previous patch created a dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch. 2009-10-26 15:14:19 -07:00