| Commit message (Collapse) | Author | Files | Lines |
|
the code that this is symmetric with CloseAgent()
|
|
|
|
going to that region first.
If this is attempted, they get a "Try moving closer. Can't sit on object because it is not in the same region as you." message instead, which is the same as current ll grid.
Sitting on ground is okay, since viewer navigates avatar to required region first before sitting.
|
|
an line from A->B->C would not close region A when reaching C
The root cause was that v2 was only closing neighbour agents if the root connection also needed a close.
However, fixing this requires the neighbour regions also detect when they should not close due to re-teleports re-establishing the child connection.
This involves restructuring the code to introduce a scene presence state machine that can serialize the different add and remove client calls that are now possible with the late close of the
This commit appears to fix these issues and improve teleport, but still has holes on at least quick reteleporting (and possibly occasionally on ordinary teleports).
Also, has not been completely tested yet in scenarios where regions are running on different simulators
|
|
change only affects the editing user's experience. Non-editing users will see nothing different from the current 'slow' result. See comments for the thought process and how the issues surrounding terrain editing, cache, bandwidth, threading, terrain patch reliability and throttling were balanced.
|
|
with high priority and hopefully gets to the client before AgentMovementComplete
|
|
AgentUpdate packet. This fixes the problem with vehicles not moving forward
after the first up-arrow.
Code to fix a potential exception when using different IClientAPIs.
|
|
|
|
the equation. (head rotation was the problematic one)
|
|
lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams.
|
|
|
|
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
|
|
observations about AgentUpdates.
|
|
|
|
|
|
significant much earlier in UDP processing (i.e. before we pointlessly place such packets on internal queues, etc.)
Appears to have some impact on cpu but needs testing.
|
|
to "show client stats" (i.e. sent on for further processing instead of being discarded)
Added here since it was the most convenient place
Number is in the last column, "Sig. AgentUpdates" along with percentage of all AgentUpdates
Percentage largely falls over time, most cpu for processing AgentUpdates may be in UDP processing as turning this off even earlier (with "debug lludp toggle agentupdate" results in a big cpu fall
Also tidies up display.
|
|
always performing these on a separate fired thread.
This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic.
However, needs testing at scale.
|
|
a continuous loop with sleeps.
Does appear to have a cpu impact but may need further tweaking
|
|
This reverts commit b060ce96d93a33298b59392210af4d336e0d171b.
|
|
|
|
are also non-blocking handlers.
|
|
checks may block, so they get a FireAndForget. Everything else is non-blocking.
|
|
|
|
This _shouldn't_ screw things up, given that all this does is to dump the request in a queue.
|
|
requesting.
|
|
main inbound UDP processing loop, to avoid any chance that this is delaying the main udp in loop.
The potential impact of this should be lower now that these requests are being placed on a queue.
|
|
force selected and turn down to debug level
|
|
is now viewerside" messages regarding currency
This will require all money modules to be refactored!
|
|
hashes for the purpose of accurately responding to AgentTextureCached
packets. There is a change to IClientAPI to report the wearbles hashes
that come in through the SetAppearance packet. Added storage of the
texture hashes in the appearance. While these are added to the
Pack/Unpack (with support for missing values) routines (which means
Simian will store them properly), they are not currently persisted in
Robust.
|
|
|
|
packet can be pulled out of LLClientView and moved to
AvatarFactory. The first pass at reusing textures (turned off by
default) is included. When reusing textures, if the baked textures
from a previous login are still in the asset service (which generally
means that they are in the simulator's cache) then the avatar will not
need to rebake. This is both a performance improvement (specifically
that an avatars baked textures do not need to be sent to other users
who have the old textures cached) and a resource improvement (don't
have to deal with duplicate bakes in the asset service cache).
|
|
This is needed because recent LL viewer codebases call this earlier in login when the client is not yet established in the sim and can't be found by UUID.
Sending the reply requires having the IClientAPI.
|
|
|
|
|
|
crash with Server-side baking enabled viewers
|
|
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
|
|
|
|
Defaulting to zero length array.....
|
|
* Add zero length blocks to the new packet blocks to remain compatible with older viewers and avoid a NullRef when _packets_.cs calls the Length parameter.. which adds up the Length property all of the blocks.
|
|
Extend implementors of IStatsCollector to return an OSDMap of stats.
Update UserStatsCollector and AssetStatsCollector to return both
string and OSDMap data (as well as console format).
|
|
|
|
|
|
(General, not physics). Makes flying not feel as stiff.
|
|
|
|
other than the object currently sat on
|
|
|
|
process a packet
|
|
handling thread.
This prevents a slow grid information network call from holding up the main packet handling thread.
There's no obvious race condition reason for not doing this asynchronously.
|
|
udp packet handling thread.
There's no obvious race condition reason for doing this on the main packet handling thread.
|