mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 01:35:46 +08:00
Implement suspended updates - When an operation is occurring on lots of prims in a single group, don't schedule any updates until the operation has completed. This makes things like llSetAlpha(LINK_SET,0.0,ALL_SIDES); a *lot* faster, more efficient and less buggy, and also makes unlinking a lot better. Linking is still treacherous.. this needs to be analysed.
This commit is contained in:
@@ -109,9 +109,26 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
private long m_maxPersistTime = 0;
|
||||
private long m_minPersistTime = 0;
|
||||
private Random m_rand;
|
||||
private bool m_suspendUpdates;
|
||||
|
||||
private System.Threading.ReaderWriterLockSlim m_partsLock = new System.Threading.ReaderWriterLockSlim();
|
||||
|
||||
public bool areUpdatesSuspended
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_suspendUpdates;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_suspendUpdates = value;
|
||||
if (!value)
|
||||
{
|
||||
QueueForUpdateCheck();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void lockPartsForRead(bool locked)
|
||||
{
|
||||
if (locked)
|
||||
|
||||
Reference in New Issue
Block a user