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
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
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
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
Dan Lake
ad624f703d
ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0];
2009-10-26 15:14:13 -07:00
John Hurliman
ff4b45a1e3
Do case-insensitive comparisons on region names in LLStandaloneLoginModule
2009-10-26 15:12:43 -07:00
John Hurliman
ac7ccdf7d7
* Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
...
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00