secondlife / jira-archive

2 stars 0 forks source link

[BUG-233829] llSetEnvironment() in neighboring regions can cause issues with the viewer. #10862

Open sl-service-account opened 1 year ago

sl-service-account commented 1 year ago

What just happened?

If I have my draw distance set up, and I become a child agent of a simulator within my draw distance; and those simulators are making changes to their environments at the region level (<-1,-1, z>) using llSetEnvironment(), it causes the client to be spammed with messages from every connected region, which causes the "Region / Estate" menu to reload, and windlight settings to struggle to set. It seems like they're fighting.

The longer your draw distance the more regions you become a child agent to, and the more problematic this issue becomes.

What were you doing when it happened?

Every 10 seconds I update environment settings on each of my regions using llSetEnvironment(). This allows for "smooth" moon movements, while adjusting other moon related settings.

What were you expecting to happen instead?

The region should only send such updates for EEP settings if that avatar is on the same region. There's no need to send child agents updates to EEP settings for regions they're not on.

Other information

Attachments

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-233829 | | Summary | llSetEnvironment() in neighboring regions can cause issues with the viewer. | | Type | Bug | | Priority | Unset | | Status | Accepted | | Resolution | Triaged | | Reporter | NeoBokrug Elytis (neobokrug.elytis) | | Created at | 2023-05-01T23:55:27Z | | Updated at | 2023-05-30T19:51:02Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2023-05-03T18:10:22.007-0500', 'How would you like the feature to work?': '.', 'ReOpened Count': 0.0, 'Severity': 'Unset', 'System': 'SL Viewer', 'Target Viewer Version': 'viewer-development', 'What just happened?': 'If I have my draw distance set up, and I become a child agent of a simulator within my draw distance; and those simulators are making changes to their environments at the region level (<-1,-1, z>) using llSetEnvironment(), it causes the client to be spammed with messages from every connected region, which causes the "Region / Estate" menu to reload, and windlight settings to struggle to set. It seems like they\'re fighting.\r\n\r\nThe longer your draw distance the more regions you become a child agent to, and the more problematic this issue becomes.', 'What were you doing when it happened?': 'Every 10 seconds I update environment settings on each of my regions using llSetEnvironment(). This allows for "smooth" moon movements, while adjusting other moon related settings.', 'What were you expecting to happen instead?': "The region should only send such updates for EEP settings if that avatar is on the same region. There's no need to send child agents updates to EEP settings for regions they're not on.", 'Why is this feature important to you? How would it benefit the community?': '.', } ```
sl-service-account commented 1 year ago

Maestro Linden commented at 2023-05-03T23:10:22Z

This seems like a viewer issue - environment update messages should not cause problems with the UI or windlight rendering issues, especially if the updates about updates to neighboring regions. Which viewer are you using?

Also, can you please provide an LSL script that triggers this issue?

sl-service-account commented 1 year ago

Kyle Linden commented at 2023-05-04T17:25:38Z

Hi Neo,

Great description of the issue. Since things are working as expected, I think this qualifies as a feature request, so I have moved it to that queue. As Maestro asked, please clarify whether it is a specific viewer or any of them and a simple LSL script that does the environment updates will help us observe the issue better ourselves.

Thanks!

sl-service-account commented 1 year ago

NeoBokrug Elytis commented at 2023-05-06T04:21:00Z

@Maestro: It is both the latest Second Life viewer, and the Firestorm viewers.

You can stand in the North East corner of The Great Fissure region, and get the full flood of neighboring regions pulsing their environments. As for a script, I can't test anything without disturbing my current setup since it's estate wide. What I would suggest is create a simple script with a list of moon texture uuids, and use llSetEnvironment on a timer. Just change the moon UUID, and have one object on the corner of each region. Let it run. Don't know if this script works or not – but it's a place to start.

integer count; list moons = ["db13b827-7e6a-7ace-bed4-4419ee00984d","0ed03550-9096-3c5a-27d8-c6496bff1064","b78495ac-042f-fe13-b593-9c32e98fd99f"];

default { state_entry() { llSetTimerEvent(10.); } timer() { llSetEnvironment(llGetPos(), [SKY_MOON_TEXTURE, llList2Key(moons, count)]); ++count; if (count >= llGetListLength(moons)) count = 0; } }

@Kyle I think it's more of a bug. Neighboring regions shouldn't cause problems with viewers if their windlight/EEP settings are changed for that region. I'll try to attach a video of the effect, I am at the corner of 4 regions and each region changes it's EEP every 10 seconds. Every time it flashes any changes you're trying to make revert. It also causes other Region / Estate windows to act wonky (another video is attached). Fairly sure this is a bug and not a feature request – as it also reverts other estate settings that you try to make.

sl-service-account commented 1 year ago

NeoBokrug Elytis commented at 2023-05-30T19:51:02Z

Settings at Higher tracks (in my case 4), seems to affect neighboring regions EEP settings. Causing them to pulse and revert. For me specifically the moon grows and shrinks, and the clouds cycle and settle.