aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-12-31Simulation handlers (agents & objects) completed.Diva Canto1-0/+10
2009-12-29Change teleports so the TeleportFlags are sent to the destination sim. ItMelanie1-4/+16
can now determine if a connection is from login, teleport or crossing. Needed for a meaningful banlines implementation
2009-12-20Fix a case where an idle sim can eat 100% of a coreMelanie1-1/+1
2009-12-14Add an option to exit an instance rather than restarting a region within itMelanie1-1/+12
2009-12-13* Implements OSSL function: osGetSimulatorMemory - returns the current ↵Adam Frisby1-0/+5
amount of memory allocated to the simulator process (Moderate Threat Level). * Cleans redundant information out of the Simulator Version. Versions now look like: "OpenSimulator 0.6.9(dev) Unix/Mono" * [Minor] additional log info for MySQLInventoryData
2009-12-03* Move code from that last commit to LLClientView since it's a linden client ↵Teravus Ovares (Dan Olivares)1-18/+0
specific limitation, it moves to the Linden Specific client handler.
2009-12-03* If the position that comes in on Scene.SetHomeRezPoint has a component ↵Teravus Ovares (Dan Olivares)1-0/+19
that is 255.5, replace the component with the user's position in the simulator. * Fixes mantis 4414: http://opensimulator.org/mantis/view.php?id=4414
2009-12-01* Fix Inconsistent line ending style on SceneTeravus Ovares (Dan Olivares)1-27/+27
2009-11-29* Patch from Misterblue to fix Environment.TickCount for statistics ↵Teravus Ovares (Dan Olivares)1-61/+57
purposes. Resolves the wrap-around of the 32 bit uint. * Teravus moved the Environment methods to the Util class
2009-11-27Remove unused GetDefaultAppearance() static function that is also available ↵Justin Clark-Casey (justincc)1-10/+0
on AvatarFactoryModule
2009-11-26Added osGetRegionStats() function, to return a number of sim statisticsJeff Lee1-0/+5
2009-11-26Remove the old (Remoting) region crossing code. Fix the new code toMelanie1-1/+1
pass script state and assembly again properly. Reintroduce respecting tht TrustBinaries flag. Changes the interregion protocol! No version bump because it was broken anyway, so with a version mismatch it will simply stay broken, but not crash. Region corssing still doesn't work because there is still monkey business with both rezzed prims being pushed across a border and attached prims when walking across a border. Teleport is untested by may work.
2009-11-26Remove the old remoting-type interregion code for prim/script crossingMelanie1-99/+0
2009-11-22* This doesn't fix mantis 3522, but it should mitigate it.Teravus Ovares (Dan Olivares)1-0/+43
* If the start position is outside of the region on the X and Y, put the user in the center of the region and then damp the Z position at 720 if necessary. If the start position is not outside of the region on the X or Y, then don't check the Z.
2009-11-20Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for ↵Justin Clark-Casey (justincc)1-1/+1
statements cause script compile failures This fixes a problem in OpenSim where statements of the form for ((i = 0); (i < 10); (++i)) { ... } do not compile even though they are valid lsl.
2009-11-18minor: tweak log message to say which region is being enabled for loginsJustin Clark-Casey (justincc)1-5/+6
2009-11-13undo previous changesdahlia1-0/+10
add a GetGroupByPrim() method to Scene.cs delete a redundant method
2009-11-11* Thanks to a little help from jhurliman, jradford, diva, mono's brajkovic, ↵Teravus Ovares (Dan Olivares)1-2/+12
miguel, and the fabulous bug reports by our community members.. The workaround fix for the "ERROR:metadata.c:3211:mono_metadata_token_from_dor: code should not be reached" bug in the RegionCombinerModule.
2009-11-05Applying #4332, optional packet statistics loggingJohn Hurliman1-0/+100
2009-11-04minor: remove some mono compiler warningsJustin Clark-Casey (justincc)1-1/+1
2009-11-02Removing duplicate SceneObjectPart.RotationalVelocity propertyJohn Hurliman1-1/+1
2009-11-02* Implemented some tweaks to monitoring module.Adam Frisby1-0/+3
* Output is prettier & more useful. * Added 'Alerts' to allow rules to be constructed using Monitors to detect for events such as deadlocks. This will be translated to SNMP Traps when I get SNMP implemented.
2009-11-01* Implements new 'Monitoring' system for reporting performance.Adam Frisby1-8/+51
* Mostly the same set as the StatsMonitor used for Viewer notification, but exposes some new frametimes - including EventMS, PhysicsUpdateMS, LandUpdateMS; new memory monitoring - both GC.TotalMemory and Process.PrivateWorkingMemory64; also exposes ThreadCount (using System.Diagnostics.Process) * Type 'monitor report' on the console to see output. * SNMP Implementation forthcoming.
2009-10-28Small performance tweaks to code called by the heartbeat loopJohn Hurliman1-35/+25
2009-10-28Limit physics time dilation to 1.0John Hurliman1-1/+1
2009-10-27Move the calculation of time dilation from the scene to the physics engine. ↵John Hurliman1-13/+6
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-27Making the defaults for interest management variables match whether you have ↵John Hurliman1-3/+3
the [InterestManagement] section in your config or not
2009-10-27Forgot a line in the previous commitJohn Hurliman1-0/+2
2009-10-27Finally hunted down the Parallel deadlock. Packets were being handled ↵John Hurliman1-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
2009-10-26Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman1-2/+2
2009-10-26Removing the ClientManager reference from IScene and hiding it entirely ↵John Hurliman1-5/+20
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* Switched all operations on the list of clients that could be either sync ↵John Hurliman1-21/+27
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-26Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ↵John Hurliman1-0/+5
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* Changed the watchdog timer to improve the speed of UpdateThread(), only ↵John Hurliman1-0/+2
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-25Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman1-1/+1
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
2009-10-23* Changed various modules to not initialize timers unless the module is ↵John Hurliman1-0/+3
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
2009-10-23* Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always ↵John Hurliman1-4/+9
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
2009-10-23Implemented a "FrontBack" prioritizer, using distance plus the plane ↵John Hurliman1-0/+4
equation to give double weight to prims/avatars in front of you
2009-10-23Experimental change to use an immutable array for iterating ScenePresences, ↵John Hurliman1-15/+10
avoiding locking and copying the list each time it is accessed
2009-10-22Implemented a Watchdog class. Do not manually create Thread objects anymore, ↵John Hurliman1-10/+10
use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated
2009-10-19* Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). ↵John Hurliman1-0/+4
This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference * Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost * Reordered some comparisons on hot code paths for a minor speed boost * Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow) * Don't fire the queue empty callback for the Resend category * Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down * Rewrote some expensive math in LandObject.cs * Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible * Only update the attachment database when an object is attached or detached * Other small misc. performance improvements
2009-10-18* Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate ↵John Hurliman1-24/+11
packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away * Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters * Made Parallel.ProcessorCount public * Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes() * More cleanup of the ScenePresences vs. ClientManager nightmare * ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-19Formatting cleanup.Jeff Ames1-2/+2
2009-10-17Committing the second part of Jim Greensky @ Intel Lab's patch, ↵John Hurliman1-0/+13
re-prioritizing updates
2009-10-16* fix previous commitTeravus Ovares (Dan Olivares)1-1/+1
2009-10-16* Ensure that at least 20 frames run before letting avatar in.Teravus Ovares (Dan Olivares)1-0/+11
2009-10-16Updating OpenSim.ini.example with the section required to enable a useful ↵John Hurliman1-0/+2
prioritization scheme
2009-10-15Object update prioritization by Jim Greensky of Intel Labs, part one. This ↵John Hurliman1-8/+32
implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
2009-10-15* Removed some of the redundant broadcast functions in Scene and SceneGraph ↵John Hurliman1-22/+9
so it is clear who/what the broadcast is going to each time * Removed two redundant parameters from SceneObjectPart * Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs) * Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-14* Replaced (possibly broken?) math for calculating the unix timestamp in ↵John Hurliman1-1/+1
MySQLAssetData with Utils.DateTimeToUnixTime() * Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode * Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login