aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Small performance tweaks to code called by the heartbeat loopJohn Hurliman2009-10-284-117/+53
|
* Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman2009-10-284-107/+6
|
* Limit physics time dilation to 1.0John Hurliman2009-10-282-2/+2
|
* * Standalone logins will now go through the sequence of "requested region, ↵John Hurliman2009-10-283-17/+25
| | | | | | | 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
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-10-281-0/+56
|\
| * Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensimMelanie2009-10-281-3/+3
| |\
| * | Adding changes to previous patch to make it fit into core betterMelanie2009-10-281-19/+17
| | |
| * | patch kill by UUIDFredo Chaplin2009-10-281-0/+58
| | | | | | | | | | | | Signed-off-by: Melanie <melanie@t-data.com>
* | | * Reduce the velocity tolerance on sending terse updates to avoid slowly ↵John Hurliman2009-10-283-5/+12
| |/ |/| | | | | | | | | 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
* | Fixed a bad check on velocity in the ODE near() callback (it was only ↵John Hurliman2009-10-281-3/+3
|/ | | | checking for velocity in certain directions, and was calling the get_Velocity() function three times)
* Track timestamps when terse updates were last sent for a prim or avatar to ↵John Hurliman2009-10-282-2/+10
| | | | avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way)
* Marking ImprovedTerseObjectUpdate packets for avatars as unthrottled to testJohn Hurliman2009-10-281-1/+1
|
* Switching sculpty from CSJ2K back to OpenJPEG for now until more kinks are ↵John Hurliman2009-10-281-2/+6
| | | | ironed out
* Print the exception message when CSJ2K decoding fails for sculpty texturesJohn Hurliman2009-10-281-3/+3
|
* Modified visibilities of properties and methods. This is so that SL client ↵Mikko Pallari2009-10-282-12/+12
| | | | based clients can use UDP server that is inherited from LLUDPServer.
* Make map search work also for hyperlinked regions.Diva Canto2009-10-271-4/+6
|
* Move the calculation of time dilation from the scene to the physics engine. ↵John Hurliman2009-10-274-17/+21
| | | | 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
* Experimental test to rate limit the incoming packet handler and try to ↵John Hurliman2009-10-271-0/+8
| | | | always leave a worker thread available for other tasks
* Removed the DotNetEngine scripting engine. You will need to create a fresh ↵John Hurliman2009-10-2710-3221/+0
| | | | checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward
* Lowering the position tolerance of terse updates for ScenePresences to ↵John Hurliman2009-10-271-1/+1
| | | | mitigate some of the rubberbanding issues while we are sending incorrect time dilation values
* Making the defaults for interest management variables match whether you have ↵John Hurliman2009-10-271-3/+3
| | | | the [InterestManagement] section in your config or not
* Forgot a line in the previous commitJohn Hurliman2009-10-271-0/+2
|
* Finally hunted down the Parallel deadlock. Packets were being handled ↵John Hurliman2009-10-271-6/+9
| | | | 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
* * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) ↵John Hurliman2009-10-273-7/+8
| | | | | | to use a non-blocking parallel method when operating in async mode * Minor code readability cleanup
* * Switched from OpenJPEG to CSJ2K in MeshmerizerJohn Hurliman2009-10-261-3/+1
| | | | * Tested the previous patch and found no regressions
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-2632-878/+866
|
* * Double the priority on avatar bake texture requests to get avatars rezzing ↵John Hurliman2009-10-263-62/+69
| | | | | | in faster than the surrounding scene * Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
* Removing the ClientManager reference from IScene and hiding it entirely ↵John Hurliman2009-10-264-20/+30
| | | | 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
* * Switched all operations on the list of clients that could be either sync ↵John Hurliman2009-10-265-27/+35
| | | | | | | | 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
* Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ↵John Hurliman2009-10-262-0/+11
| | | | 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
* No need to create dupe TriMeshData for ODE. A previous patch created a ↵Dan Lake2009-10-261-6/+14
| | | | 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.
* ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a ↵Dan Lake2009-10-261-0/+4
| | | | list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0];
* Do case-insensitive comparisons on region names in LLStandaloneLoginModuleJohn Hurliman2009-10-261-2/+2
|
* * Changed the watchdog timer to improve the speed of UpdateThread(), only ↵John Hurliman2009-10-262-2/+8
| | | | | | 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
* Changed UseCircuitCode handling to be synchronous or asynchronous depending ↵John Hurliman2009-10-261-10/+21
| | | | on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-10-261-2/+43
|\
| * Thank you, RemedyTomm, for an update to your previous patch. Garbage-collectMelanie2009-10-261-2/+21
| | | | | | | | the transfers that never happen.
| * Thank you, RemedyTomm, for a patch to handle Xfer requests being droppedMelanie2009-10-261-2/+24
| | | | | | | | before the file data to be transfered is ready.
* | Removed an unnecessary lock in LLUDPClient.UpdateRTO() and ↵John Hurliman2009-10-261-30/+21
|/ | | | LLUDPClient.BackoffRTO()
* Minor tweaks to get OpenSim compiling against both the current libomv and ↵John Hurliman2009-10-252-1/+3
| | | | the upcoming 0.8.0
* Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman2009-10-257-74/+102
| | | | | | | | | | Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces * Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff * Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape() * Improved the instantiation of PrimitiveBaseShape
* * Changed various modules to not initialize timers unless the module is ↵John Hurliman2009-10-235-28/+38
| | | | | | initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary * Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
* * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always ↵John Hurliman2009-10-233-10/+19
| | | | | | | handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system * Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler * Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJohn Hurliman2009-10-231-2/+3
|\
| * Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: ↵dslake2009-10-231-2/+3
| | | | | | | | Inconsistent locking of ODE tainted prims
* | Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been ↵John Hurliman2009-10-232-13/+28
|/ | | | removed and several new parameters have been added to [ClientStack.LindenUDP]
* Inconsistent locking of SenseRepeaters in Script Engine.unknown2009-10-231-8/+11
| | | | | | When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration. The attached patch locks SenseRepeatListLock in GetSerializationData()
* Implemented a "FrontBack" prioritizer, using distance plus the plane ↵John Hurliman2009-10-233-3/+78
| | | | equation to give double weight to prims/avatars in front of you
* Uncommented the resend log line so the previous commit can be seen in actionJohn Hurliman2009-10-231-1/+1
|
* * Changed the max RTO value to 60 seconds to comply with RFC 2988John Hurliman2009-10-232-1/+4
| | | | * Implemented section 5.5, exponential backoff of the RTO after a resend