| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
|
|
|
|
| |
Vector3 copying in Scene - this is not necessary as Vector3 is a value type
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
still active.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
closed on teleport, don't unnecessarily resend all avatar and object data about that region.
|
|
|
|
|
|
| |
neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
|
|
|
|
|
|
|
|
|
|
| |
[InterestManagement] in OpenSim.ini for experimental purposes.
If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift).
If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero.
Defaults are same as before (all packets are sent).
Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt.
Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable.
|
|
|
|
|
|
| |
test purposes, and use more consise property syntax.
No functional change.
|
|
|
|
|
|
|
| |
SP.WaitForUpdateAgent() with a triggered event instead.
Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time.
A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
|
|
|
|
| |
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
|
| |
|
|
|
|
|
|
| |
shorter than one of the test strings
This fixes http://opensimulator.org/mantis/view.php?id=7294
|
|
|
|
|
|
|
| |
RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini
These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves).
Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement.
|
|
|
|
| |
for better accuracy and consistency with other similar parameters
|
|
|
|
|
|
|
| |
updates except to originator
For experimental purposes.
Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
|
|
|
|
|
|
| |
Allows experiments in manually reducing updates under heavy load.
Activated by "debug scene set client-upd-per" console command.
In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
|
|
|
|
|
|
|
| |
tolerances on the fly.
This is done via "debug scene set client-pos-upd, client-rot-upd, client-vel-upd".
For testing purposes.
|
|
|
|
|
|
| |
bulletsim physics is running in a separate thread.
This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
|
|
|
|
|
|
|
|
| |
reprioritization distance to be changed on the fly.
This governs when child agent position changes are sent to neighbouring regions.
Corresponding config parameter is ChildReprioritizationDistance in [InterestManagement] in OpenSim.ini
For test purposes.
|
|
|
|
|
|
|
|
|
| |
regions failed with outdated simulator message.
I forgot that a null 'their version' would not be passed over the wire and ends up as an empty string instead (like older simulators).
So instead pass through the correct simulator protcol version instead (SIMULATOR/0.3) when querying from login or hg login.
Also removes a debug console write for agent limit accidentally left in for the same commit.
Relates to mantis 7276
|
|
|
|
| |
checks before proceeding.
|
|
|
|
|
|
|
|
|
|
|
| |
appear both on the avatar AND as in-world objects.
Another manifestation of this bug is that after a Hypergrid teleport, when you click on one of the avatar's attachments the object doesn't show its name. This means that the viewer knows the attachment is there, but the simulator does not.
The problem was caused by treating Hypergrid teleports as if they're Logins (because the teleport flag ViaLogin is enabled).
This may fix: http://opensimulator.org/mantis/view.php?id=7238
This may fix: http://opensimulator.org/mantis/view.php?id=7220
|
|
|
|
|
|
| |
hasn't completed yet
This caused the client to stop responding, and even the simulators to have problems. The solution is to disallow crossing before the previous cross has completed.
|
| |
|
| |
|
| |
|
|
|
|
| |
that data structure contains important information about the agent that may be needed by modules.
|
|
|
|
| |
are logged in; the avies would not see the region anymore until they relogged. Same problem as before: inconsistent calculation of scope.
|
|
|
|
| |
was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions.
|
|
|
|
|
|
| |
chance to fix it
This was working for me locally because it was still picking up all my *.ini config files, which jenkins won't have in its test env
|
|
|
|
| |
why it's failing on jenkins but not locally
|
|
|
|
|
|
| |
shutdown.
Adds regression test for this case.
|
| |
|
|
|
|
| |
match OpenSimDefaults.ini
|
|
|
|
|
|
|
| |
HG gods are not safe at this point. It's better to disallow this until
they can be made safe.
This reverts commit e86c765be3b0d94c94ff1c5f15a3949ecc857627.
|
| |
|
|
|
|
|
| |
draw distance optimization is enabled. Makes terrain editting a lot
snappier.
|
| |
|
|
|
|
| |
Still has problems with child avatars.
|
|
|
|
|
|
| |
[Terrain]SendTerrainUpdatesByViewDistance=true.
This tracks which patches have been sent to each client and outputs the
patches as the avatar moves.
|
| |
|
|
|
|
| |
ScenePresence.SendTerseUpdateToAllClients() which is extremely helpful when investigating presence update triggers.
|
| |
|
| |
|
|
|
|
|
|
| |
in a root prim, the focus should remain on the root prim.
Matches behaviour just tested on the Linden grid.
|
|
|
|
| |
camera-at value, rather than replace.
|
|
|
|
| |
child prim with camera-eye set
|
|
|
|
|
|
| |
prim does not, use the root prim offsets.
This matches behaviour just tested on the Linden Lab grid.
|