| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
Sync with PrimMesher.cs r47 on forge.
|
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
checking for velocity in certain directions, and was calling the get_Velocity() function three times)
|
| |
| |
| |
| | |
ironed out
|
| | |
|
| |
| |
| |
| | |
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
|
|/ |
|
|
|
|
| |
* Tested the previous patch and found no regressions
|
| |
|
|
|
|
| |
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
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Inconsistent locking of ODE tainted prims
|
|
|
|
| |
consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
|
| |\
| | |
| | |
| | | |
into prioritization
|
| | | |
|
| | | |
|
| |\ \
| | |/
| |/|
| | | |
prioritization
|
| |\ \
| | | |
| | | |
| | | | |
into prioritization
|
| | | | |
|
| |/ /
| | |
| | |
| | | |
decoded to allow garbage collection on it
|
|\ \ \
| | |/
| |/| |
|
| | | |
|
| | |
| | |
| | |
| | | |
relogging.
|
| |/
| |
| |
| | |
scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon.
|
| |
| |
| |
| | |
it will definitely get us closer to the root cause.
|
| |
| |
| |
| | |
debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring.
|
| |
| |
| |
| |
| |
| | |
allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now.
* The broken avatar may not be able to move, but it won't stop simulate from pressing on now. And, the simulator will try to destroy the avatar's physics proxy and recreate it again... but if this is what I think it is, it may not help.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
* Changed PrimMesher's Quat.Identity to return <0,0,0,1> instead of <0,0,0,1.1>
|
|\ \
| |/ |
|
| |
| |
| |
| | |
enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
ScenePresence.AddToPhysicalScene.
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms.
* This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
|
| |
| |
| |
| | |
* Set the Scene collision update time to 500 ms
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.
|