Commit Graph

27841 Commits (bcee4e377200d26beeb6ea4760e840b2ff4a5d24)

Author SHA1 Message Date
Justin Clark-Casey (justincc) f132f642b2 On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.
Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
2014-08-28 18:15:33 +01:00
UbitUmarov 5a2d4fd47f add some functions for estimation of number of bytes that can be send in a category in specified time 2014-08-28 16:49:32 +01:00
UbitUmarov ff4df688ba send all presences terseupdates in same batch 2014-08-28 12:55:31 +01:00
UbitUmarov ade4bf69b1 if we send wearables with ThrottleOutPacketType.HighPriority, then we
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov 38fc1cc445 try to make child presence know its root region. Incomplete, some paths dont send the information. 2014-08-28 00:44:59 +01:00
UbitUmarov b871029a30 dont create a cadu that is not used. Add a root region global position 2014-08-27 18:05:40 +01:00
UbitUmarov 73cdafd6c9 dont mess throotles values sent to child presences. Some cleanup 2014-08-27 15:57:12 +01:00
Melanie Thielker 012d0b07bc Merge branch 'ubitworkmaster' 2014-08-27 11:25:17 +02:00
UbitUmarov 1e888d61ca enqueue also if m_nextPackets[category] is not null. This is really the
top element of a category queue, equivalente to using a queue.peek() if
 avaiable
2014-08-27 01:33:09 +01:00
UbitUmarov 07ee101a05 bug fix. Was not deleting attachments if on public parcel 2014-08-27 01:09:11 +01:00
UbitUmarov 620443f858 on TPs to nearby regions, only send kills if needed by parcel privacy 2014-08-27 00:37:05 +01:00
Justin Clark-Casey (justincc) b1ff78f4d8 Don't allow update timer to invoke another scene update if the previous is still active. 2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc) bafa82eb12 Remove race conditions from where SP.AbsolutePosition could change between the various property checks. 2014-08-26 18:25:14 +01:00
Justin Clark-Casey (justincc) 42bb122232 Fix frame times when updating scene on timer. 2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc) 64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov 92b0b27caf dont append acks to a resend packet 2014-08-26 17:42:44 +01:00
Robert Adams b3e423303f Merge branch 'master' into bullet-2.82 2014-08-26 06:47:50 -07:00
UbitUmarov dde2ac2544 still testing 2014-08-26 02:22:25 +01:00
BlueWall aeadddf77a Add back URL endings in examples 2014-08-25 20:29:46 -04:00
UbitUmarov 3ee6144d0c even less kills on tps 2014-08-26 00:00:21 +01:00
UbitUmarov 6857afe2a4 *test* back to no sog kills, little retouch on attachment updates,
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
UbitUmarov 75cbe620c0 *test* cleanup the bugs nest 2014-08-25 22:45:31 +01:00
UbitUmarov c24601bc6a change enconding of attachment updates NameValue and State fields 2014-08-25 21:49:39 +01:00
Melanie Thielker 56081dc5e1 Merge branch 'ubitworkmaster' 2014-08-25 20:33:12 +02:00
UbitUmarov b1f14ad62f back to just kills 2014-08-25 14:15:53 +01:00
UbitUmarov 385fcbb75e *test* send kills and hack 2014-08-25 13:58:50 +01:00
UbitUmarov 094d8686e5 put back the kills on tp where they belong 2014-08-24 02:23:00 +01:00
UbitUmarov d5814ccf65 *test* move sending kills to before sending the update, this breaks tp
abort
2014-08-24 01:04:32 +01:00
UbitUmarov f4a6be8654 clean sendKill a bit, remove a IsChild that is set too early in a calling
path
2014-08-24 00:44:14 +01:00
UbitUmarov 06b6238d00 send avatar kills after attachments, send otherattachments before rest of
sog ( updates will mess this again but well... )
2014-08-23 22:24:28 +01:00
UbitUmarov d55041d934 on updates, send rotations using livomv Quaternion.toBytes() again 2014-08-23 21:13:30 +01:00
UbitUmarov 63d1916f51 Remove entities from updates queues on kill. Do it sync so enqueues after
the kill work
2014-08-23 20:59:11 +01:00
Melanie Thielker 9ce1fd7a3c Merge branch 'avination-current' 2014-08-23 19:39:31 +02:00
Melanie Thielker 1fc5dadc60 Add an admin message to refesh a region's map tile. Will be used to periodically
rebuild the world map to clean out unused tiles.
2014-08-23 19:38:08 +02:00
Melanie Thielker 3341bbbc3b Merge branch 'avination-current' 2014-08-23 19:12:12 +02:00
Melanie Thielker 39e052982b Fix a null ref that will cause an exception if a grid region doesnt' specify a URI. 2014-08-23 19:10:15 +02:00
Melanie Thielker 5f51abada9 If GridUserService is asked for a nonexistent user, bail gracefully 2014-08-23 18:17:33 +02:00
Melanie Thielker d34599b1a5 If GridUserService is asked for a nonexistent user, bail gracefully 2014-08-23 18:16:11 +02:00
Melanie Thielker 1a7efc2c64 Change the map tile system to be multi-grid hosting compatible
Conflicts:

	OpenSim/Server/Handlers/Map/MapRemoveServerConnector.cs
2014-08-23 17:33:14 +02:00
Melanie Thielker cbd7c7b9ec Change the map tile system to be multi-grid hosting compatible 2014-08-23 17:27:01 +02:00
UbitUmarov 8fd836c299 back to sending attachment sog kills in place of the hack. This is the
official way of doing it
2014-08-23 12:03:55 +01:00
UbitUmarov 1aa335078a sop SendFullUpdate() goes by presence if it is a attachment 2014-08-22 21:54:00 +01:00
Justin Clark-Casey (justincc) fabab7414f Remove database connection locking in MySQLXAssetData. This is unnecessary as connections aren't shared and transactions are already in place where necessary. 2014-08-22 20:34:33 +01:00
Justin Clark-Casey (justincc) 0cb805a64c Remove query locking in MySQLUserProfileData. This is not necessary as the connection is not shared. 2014-08-22 20:28:56 +01:00
Justin Clark-Casey (justincc) 709038aa2a Remove some use of database connection locking from MySQLSimulationData - this has not been necessary for some time as database connections are not shared.
However, many locks remain since they may effectively be providing transactionality in some operations (e.g. prim updates across multiple tables).
These are candidates for being replaced with proper database transactions, since this would not block unrelated operations (e.g. land save and object save)
or unrelated operations on the same tables (e.g. storage of one linkset whilst another is being removed).
In practice, any performance deg due to contention is probably rare and short lived as the major prim operations are performed in memory and only persisted some time afterwards.
2014-08-22 20:23:48 +01:00
UbitUmarov 0295e6822d some cleanup ( well or not ) 2014-08-22 20:01:07 +01:00
Justin Clark-Casey (justincc) d899bdcb9b Remove lock in MySQLFramework. This is not necessary as the connection is not shared. 2014-08-22 19:52:03 +01:00
Justin Clark-Casey (justincc) f129b824c3 Removing locking on requests in MySQLAssetData.
These locks are not necessary since the connection is taken from the underlying mysql pool and not shared.
Such locking is already not done by some other parts of OpenSim.Data.MySQL.
Pointed out by arribasim-dev
2014-08-22 19:46:46 +01:00
UbitUmarov 9a8d8d2130 Merge branch 'master' into ubitworkmaster 2014-08-22 01:06:43 +01:00
UbitUmarov c95fd60806 revert the kills, they seem even worse 2014-08-22 00:28:05 +01:00