SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more

The following notes are taken from the TPV Developer meeting held on Friday September 27th. A video, courtesy of North, can be found at the end of this report. The numbers in braces after each head denote the time stamp at which the topic can be listened-to in the video.

A typical TPV dev meeting
A typical TPV dev meeting

SL Release Candidate Viewers

SLShare

[03:00]

Following my coverage of the release of SLShare, the opt-in capability for those wishing to link their Second Life accounts with their Facebook accounts, A question was asked as to whether the feature would be available to TPVs. Speaking at the TPV Development Meeting, Oz Linden provided comments which answered this question more fully, and and Merov Linden gave further information on the functionality in general.

“One of the design considerations is that this is a feature you [TPV developers] can all integrate without any problem,” Oz said. “All of the actual connections to Facebook, all of the handling of the requisite authentication tokens and permissions and [the] relationship with Facebook itself, is all handled server-side. So the code that’s in the release candidate viewer is something that you can integrate so that you can also make this feature available on whatever schedule you would like to.”

He went on to confirm that given this, no Facebook information for users of the service is exposed to TPVs.

As to how soon it might be before the SLShare RC is promoted to the release viewer, Oz again reiterated that it depends on how well the various candidates currently in the release channel perform. Currently, the metrics for the viewer look good, according to Merov, so it may still leapfrog its way to becoming the release viewer. However it is more likely that it will not become the de facto viewer for at least another two weeks.

Despite the negative reactions to the feature which have appeared in the comments following blog posts, etc., reporting on the functionality, the Lab believes SLShare is already “getting a lot of use”. This view is based on the numbers of people who have pro-actively gone and downloaded and installed the RC viewer manually.

While this may be a case of the Lab greasing the wheels a little bit (downloading and installing the viewer isn’t necessarily the same as running the feature),  Firestorm are reporting that they’ve had at least one request for the feature to be added to their next release.

During the meeting, a series of questions were raised on the feature:

  • Will the feature become opt-out in the future, rather than opt-in? Merov Linden:  “It’s opt-in. We’re not doing anything [behind] the back of the residents.”
  • Will the feature create a Facebook account on behalf of anyone using it? Merov Linden:  “There is no API to create an account on Facebook on behalf of someone.”
  • Will it lead to a merging of the current SL feeds with the Facebook feed?  Oz Linden: ” No, there is no connection between the Second Life profile feeds and the Facebook feed. They have no relationship at all … In theory one could probably build a viewer that did that, but we’re not planning on it.”

(Further questions passed unanswered due to the region in which the meeting was being held being subjected to a griefing attack which left it in a poor state and prompted a change of meeting venue.)

Viewer Statistics

[33:26]

The Lab has been putting together a new statistics reporting system, which is now starting to be used to generate a range of reports. Commenting on some of the information which is coming out of the system, primarily in response to questions asked at both Open-source dev and TPV dev meetings, Oz indicated that:

  • Almost one-third of regions within SL have at least one materials-enhanced object in them, which is described as “dramatically faster” than the adoption of mesh
  • The number of avatars wearing materials-enhanced mesh / prim clothing is “steadily climbing”
  • The number of people who have Advanced Lighting Model (ALM) enabled on a “class 3” (mid-range Graphics cards) or above is just under 20%

One of the problems here – from the Lab’s point of view at least – is that both Singularity and Firestorm have ALM turned off by default for almost all graphics settings, except perhaps High-Ultra, and Ultra. The flip side to this is the view that the Lab enables ALM by default on cards which are barely able to support it, with the result that people’s SL experience suffers through poor frame rates.

In the past the Lab has pointed to data which tends to show that viewers running on low-end graphics cards card do indeed suffer performance issues with ALM active; mid-range GPU show little difference in performance between running with ALM active or not and have “reasonable” fps rates; high-end (“class 5”, as they call them) cards  – e.g. ATI Radeon HD 7800, 7900, 8900, 8950 + similar, nVidia GTX 460/460SE, 465, 550TI, 580, 660/660TI + similar – perform significantly better with ALM active.

The problems here are how one defines “reasonable” frame rates and how one interprets ALM. For the Lab, it would appear that “reasonable” frame rates is anything in double figures – e.g. above 10; many users would disagree with this. At the same time, many users still appear to equate having ALM active with having Shadows enabled (which actually leads to a far larger performance hit), but the two are actually quite separate. As had been pointed out a number of times in these pages, ALM can be active without having to enable shadows.

Running with ALM active does not require shadows to be enabled
Running with ALM active does not require shadows to be enabled

Nevertheless, part of the new viewer statistics system should enable to Lab to gather and present performance numbers for cards with and with ALM enabled, filtered by viewer, so that TPVs can better judge matters for themselves.  In addition, Oz is going to be looking at ways and means of doing systematic testing with cards in order to generate more meaningful statistics, and which may allow for other factors which influcence performance (other avatars in the same region, the amount of movement going on, viewer settings, etc.).

Understanding Viewer Performance

[45:41]

A further problem with the viewer is that it is complicated, and while there are many tools to help monitor performance, people either focus on the wrong tools or cannot find those that would be helpful to them in diagnosing an issue when they do encounter unexpected performance drops.

To this end, Oz floated the idea at the TPV Developer meeting for TPV devs to give thought as to which tools and information feeds within the viewer would be useful to users to help them understand what is going on, and how best to present said tools, etc., in a way which would make sense to users and enable them to make use of the information they are seeing.

Continue reading “SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more”

SL projects update week 39 (2): Server, viewer, region crossings

Server Deployments – Week 39

As always, please refer to the week’s forum deployment thread for the latest news and updates.

  • On Tuesday September 24th the main channel updated to the server project that was on Magnum last week, with the llXorbase64 (see my week 35 (2) update ), a number of JSON updates, the nerfing of recursive rezzing (outlined in my week 35 (1) report), a parcel access update (see below) and more – see the release notes for details
  • On Wednesday September 25th, all three RV channels (BlueSteel, LeTigre, Magnum) received the same update package as deployed to the Main channel.

Parcel Access Update Bug

At the Server Beta meeting on Thursday September 26th, Maestro revealed that the parcel access update, designed to enable users who are on a parcel’s “Allowed Access” list now correctly bypass other parcel restrictions (such as “Payment Info On File”) when entering the parcel, introduced an unexpected bug. He it as:

If you have a group-owned parcel, and the parcel access is restricted to group members, *and* “sell passes to..” is set, then group members can’t access the parcel, which isn’t good. My guess is that nobody noticed in RC because “sell passes to” isn’t widely used.

The classic behaviour was this one motorcycling sim had it set up; you could either join the group for L$300 and have permanent access to their roads, or alternatively pay L$100 for a one time pass to visit … With the bug, even the group members couldn’t access (though oddly they weren’t prompted to buy a pass either – entry just failed). It may have been that the viewer expected the classic behaviour, so didn’t prompt about a pass. Anyway, we do have a pending fix for the issue.

Maestro Linden's new meeting venue (complete with materials), which saw its debut at the Server Beta meeting on Thursday September 26th.
Maestro Linden’s new meeting venue (complete with materials), which saw its debut at the Server Beta meeting on Thursday September 26th.

Week 40 Deployments

While the final decisions on deployment packaged are not made until the start of the week in which they are due, Maestro Linden gave a hint of some of the items liable to see the light of day in week 40 (week commencing Monday September 30th)

  • A further LSL update for JSON support, which will see JSON_DELETE added as an option to llJsonSetValue() and allows you to delete an element directly
  • A fix for a group notice bug which causes a notice (possibly only in some groups, it’s not entirely clear) randomly failing to reach some group members

Commenting on the latter, Simon added, “That group one is kind of minor. There still seem to be issues with groups, even with this fix, but it may help … Group notices have gotten more reliable lately, thanks to Monty’s http work, I think, but I’m still hearing of notices getting lost sometimes, or the sender not getting one.”

Maestro also confirmed that there is a separate bug related to offline notices failing to reach people’s e-mails, with some at the meeting reporting they haven’t received any off-line notices for the past month.

SL Viewer Updates

On Wednesday September 25th, the Lab launched SLShare, and with it introduced a new RC viewer – version 3.6.7.281331 – with the new OPTIONAL share with Facebook capabilities.

The four tabs of the new SLShare floater, allowing people to share their SL times via their Facebook account if they so wish
The four tabs of the new SLShare floater, allowing people to share their SL times via their Facebook account if they so wish

Continue reading “SL projects update week 39 (2): Server, viewer, region crossings”

SL projects update week 39 (1): server and general items

Server Deployments – Week 39

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Second Life Server (Main Channel) – Tuesday September 24th

The main channel updated to the server project that was on Magnum last week, comprising:

  • A fix for the llXorbase64 issue reported on in my week 35 (2) update  (BUG-3763)
  • A fix for an issue where an avatar sitting at high altitude may appear to be located at 0,0 on both the world map and mini map (BUG-3332)
  • A fix for “llReturnObjectsByID breaks on string uuids”
  • Fixes for a number of JSON function issues:
  • Nerfing of recursive rezzing. Again, this was outlined in my week 35 (1) report. Under the new code, the copy of the original object will inherit the temp-on-rez and parcel time of the originating object and so be returned at the same time
  • Users who are on a parcel’s “Allowed Access” list now correctly bypass other parcel restrictions (such as “Payment Info On File”) when entering the parcel
  • Crash mode fixes.

Second Life RC BlueSteel, RC Magnum, and RC LeTigre – Wednesday September 25th

All three RC channels should receive the same update package as deployed to the Main channel (see above for a summary of changes). Release notes: BlueSteel, LeTigre, Magnum.

Region Restart Issues

The last few weeks have apparently seen an increase in the number of reports being filed against regions restarting in an unhealthy state following a restart. Talking at the Simulator User Group on Tuesday September 24th, Whirly Fizzle related the problems thus:

After rolling restarts, many regions come back in an unhealthy state in that no mesh will rez on them, you appear offline to all your friends if you are on said region, your friends lists & groups lists don’t load, you cannot initiate IM sessions & you usually disconnect when attempting to TP out of those regions. (Caps fail I guess?). Restarting the region fixes it. As far as I know this used to happen rarely after rolls but now it appears pretty common.

Some people have reported increasing issues with regions immeidately following a rolling restart
Some people have reported increasing issues with regions returning in an unhealthy state immediately following a rolling restart

Both Simon and Andrew Linden leaned towards the problems being indicative of a caps fail issue, with Simon speculating, “I suspect the caps system is overloaded in a server restart … there may be too many regions coming up at once, doing all the housework to get into the grid, etc, and it falls apart.  That’s just a wild guess, however.” He also pointed to the problem possibly being connectivity-related.

As a result, Andrew has said he’ll look deeper into the problem and also check with LL’s Release team, who actually handle the rollouts to see if they have any insight into what may be happening, and if it is a broken caps issue. In the meantime, those experiencing issues of the kind indicated by Whirly should file a bug report, making sure they include the server names (e.g. simXXXX.agni.lindenlab.com available in Help > About Second Life) both before and after running a manual restart.

SL Viewer Updates

There has been no release candidate promotion to the de facto release viewer as yet in week 39. However, the remaining two release candidates updated recently as follows:

  • The Maintenance release RC (support for new particle capabilities; automatic avatar render limit and feedback system) updated on September 20th to version 3.6.7.281236, and then on September 24th to version 3.6.7.281385
  • The Snowstorm contributions RC (request teleport feature) updated on September 20th to version  3.6.7.281199.

Continue reading “SL projects update week 39 (1): server and general items”

SL project update week 38 (2): server, viewer and other bits

Server Deployments – Week 38

As always, please refer to the week’s forum deployment thread for the latest news and updates.

  • On Tuesday September 17th, The Main channel received the HTTP updates  previously deployed to Magnum in weeks 36 and 37. See here and here for details. These changes are pending  a viewer-side update in order to be effective.
  • One Wednesday September 18th, the RC channels were updated as follows:
  • BlueSteel and LeTigre remained on the same maintenance package as week 37, but gained a fix for a crash mode and the server-side HTTP work
  • Magnum received the BlueSteel / LeTigre updates, a series of crash fixes and an update to parcel access priorities.

Some people have reported issues with sculpties only partially rendering following the deployments. This seems to be occurring when teleporting into a region, and has been noted with sculpted trees and foliage with a low LI. One suggested solution has been to raise the RenderMinimumLODTriangleCount debug from its default of 16 to 28 or 32.

BlueSteel / LeTigre Crash Mode Update

In part one of this week’s report, I mistakenly assigned the crash mode fix referred to as being something Andrew Linden had been working on. In fact, the crash mode was only created as a result of the week 37 deployment to these channels. Related to region crossings, it would only occur under very specific, non-exploitable conditions involving vehicle-riding avatars, and would result in the region just left crashing. This issue never got beyond the two RCs, and has now been confirmed as fixed.

Magnum Parcel Access Priorities Update

Speaking at the Server Beta meeting on Thursday September 19th, Maestro gave further information on this fix, “There was a longstanding bug where an avatar who was on the ‘Allowed Residents’ list of a parcel was still not able to enter the parcel, due to other access restrictions.” So if someone was on the access list, but had no payment information on file, and the parcel required it, they could still not enter the parcel. With this fix, Maestro explained, “If the parcel is set to ‘allow payment info on file always’, somebody on the ‘allowed residents’ list can always enter, regardless of their PIOF status.” The change does not alter anyone being on the banned list being unable to access a parcel,

As the sun sets, the Server Beta attendees gather ...
As the sun sets, the Server Beta attendees gather …

Week 39 Deployments

While the final decisions on deployment packaged are not made until the start of the week in which they are due, Maestro reports the data on both the Magnum and the BlueSteel / LeTigre packages deployed this week are good. However, he suspects the Magnum package will most likely be promoted to the Main channel in week 39 (week commencing Monday September 23rd.

Viewer Updates

The release viewer was updated on Thursday  September 19th, when the Materials release candidate (release 3.6.6.280963) was prompted to the de facto release viewer (release notes & download). This currently leaves just two release candidates in the release channel at present:  the Snowstorm contributions RC, which includes the Request Teleport feature, and the maintenance update, which includes the viewer-side updates for the “new” particle capabilities.

Other Items

LSL Parcel Access Function

Jenna Felton raised a question at the Server Beta meeting on whether it would be possible to have a LSL function which could determine if a specified avatar can enter a specified location within a region, or is able to pass through every parcel on a given path through the region. She explained why such a function might be useful:

The reason is when you build a vehicle or a physically working teleporter, you face a problem: Although you can read the parcel flags and determine for example if a parcel uses ban list, but you can’t determine if any sat passenger is on the list or not. So you get false positives and refuse teleport even if the vehicle would cross the parcel. Now, even if you are ok with that, you have to perform a large number of such checks to be sure at no position of your path you are entering a parcel or cross an edge of a parcel using ban list.

So I’d like to know if such a function is reasonable, that takes two vectors and determines if the path connecting them is safe for objects with seated avatars to move along. A reasonable range of systems would benefit from it.

This prompted some discussion of the idea, apparently continuing a discussion Maestro and Simon Linden had prior to the meeting. This took-in a number of ways in which such a check might be achieved, including a look-up based on agent_id and parcel_id, through to using the location-to-parcel ID lookup or extending llCastRay to have parcel detection.  Simon Linden also pointed out it would be possible to do something similar now, saying: “It’s not too hard to create a function in LSL to do that, Jenna … you’d just move along your path 4m in X or Y at a time, use llGetParcelDetails() and if the ID changes, then check if you can enter”, although as Jenna pointed out, this would require around 64 calls during a region crossing.

There may be further discussion on this idea in the future, with Maestro suggesting Andrew Linden be given a poke on the matter, as a result of his recent work on parcel encroachment.

Meeting Venue Update

Maestro revealed he’s going to be revamping the Server Beta meeting area on Aditi soon. The gym will be going to be replaced with … well … here’s the preview!

Apparently,  attendees will be invited to bring their own chairs / dance poseballs!

SL projects update week 38 (1): server releases, viewer, and more

Server Deployments – Week 38

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Second Life Server (SLS Main) Channel – Tuesday September 17th

The Main channel received the HTTP updates  previously deployed to Magnum in weeks 36 and 37. Overviews of these changes, which will be transparent to users pending viewer-side updates, can be found here and here. These changes introduce new capabilities for mesh fetching operations and should lead improvements in the reliability in viewer / server connectivity when fetching mesh and textures as the viewer-side updates are released.

Release Candidate Channels – Wednesday September 18th

  • BlueSteel and LeTigre should remain on the same maintenance package as week 37, but additionally should receive two updates to the package:
    • A fix for a newly discovered crash mode
    • The HTTP updates deployed to Magnum in weeks 36 and 37 and to the Main channel on Tuesday September 17th.
  • Magnum should receive a new maintenance package which again includes the BlueSteel / LeTigre updates, and includes a number of crash fixes and an update to parcel access priorities “making it so that avatars who are on the ‘allowed’ list can bypass some of the other access restrictions (payment info on file was listed specifically)”

Commenting on the crash mode fixed on BlueSteel  / LeTigre, Andrew Linden said, ” The crash bug I fixed was actually rather rare… a corruption of the terrain data when building packets. Happened maybe… 5 times in three weeks. But we thought maybe it was related to some interest list changes so I looked into it anyway.”

Viewer Updates

Maintenance RC Release

A new RC viewer reached the release channel on Friday September 13th. Second Life RC viewer 3.6.6.280939 includes the following core updates:

  • Automatic avatar render limit and feedback system
  • Support for the additional LSL particle parameters.
  • rendering optimizations
  • avatar render cost information
  • simple impostors
  • graphics pref update
  • new debug setting “RenderAutoMuteRenderCostLimit” sets render cost cut-off point (default 0 = disabled cutoff check)

The new particle options comprise:

  • Glow
  • Ribbon effects
  • Blending options.

The SL wiki includes full details of these new particle parameters.

  • The glow effect basically looks the same as the prim glow setting on prims, adding PSYS_PART_START_GLOW and PSYS_PART_END_GLOW, which take a float in the 0.0 to 1.0 range
  • The particle blending takes 2 parameters, PSYS_PART_BLEND_FUNC_SOURCE and PSYS_PART_BLEND_FUNC_DEST, and each of those takes one of the 8 ‘values’ listed underneath, so there are actually 8*8 = 64 blend options. It exposes OpenGL’s glBlendFunc to LSL, see the glBlendFunc documentation at http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml
An example of how the now ribbon capabilities might be used in SL, showing the arc of the sword through the air, supplied by Maestro Linden (courtesy of Hollowfear.com)
  • The new ribbon capability should allow for much better particle effects for things like ropes and chains links between objects (amount other things), using a ” go-from” prim/position (the prim centre), and a “go-to” prim/position (defined by PSYS_SRC_TARGET_KEY), the advantage being there would no longer be any gaps in the particle stream. However, there may be times when the ribbon effect may not be facing your camera (so there may be times when you need to reposition your camera in order to see the effect).

Continue reading “SL projects update week 38 (1): server releases, viewer, and more”

SL projects update week 37 (2): particle capabilities – viewer release imminent

Update: The maintenance release viewer with the particle capabilities is now available – version 3.6.6.2.80939 – release notes and download.

Server and RC Deployments

As always, please refer to the week’s forum deployment thread for news, updates and feedback.

In a change to the usual server-side deployments, the Main channel and all three RC channels have had their deployments and restarts made on Tuesday September 10th. The reason for the single pass was to apply updates server-side relating to recent Vivox service maintenance.

Details of the updates can be found in part 1 of this week’s update.

Server and RC Deployments Week 38

While the final decisions on deployments will not be made until that start of week 38 (week commencing Monday September 16th), it currently appears as if the following are likely to form part of the deployments:

  • The server-side HTTP updates will be promoted to the Main channel
  • A small server maintenance release will be deployed to at least one RC, which includes a number of crash fixes and an update to parcel access priorities “making it so that avatars who are on the ‘allowed’ list can bypass some of the other access restrictions (payment info on file was listed specifically)”

Particle System Viewer Imminent

Back in week 12, the Lab indicated that the SL particle system would be getting new capabilities, specifically:

  • Glow
  • Ribbon effects
  • Blending options.
Ribbon particle example

The server-side support for these capabilities was duly deployed, but have since been awaiting the viewer-side support in order to be accessible to users.

Commenting on the situation at the Server Beta meeting, Maestro Linden indicated that a release candidate viewer should be appearing with the necessary viewer-side support for the new LSL particle functions and parameters on Friday September 13th.

In preparation for the release, Maestro has also updated the wiki with details of the new particle parameters.

“The new particle glow options are pretty simple,” he said. “If you look at the wiki page, we’ve just added PSYS_PART_START_GLOW and PSYS_PART_END_GLOW, which take a float in the 0.0 to 1.0 range. It basically looks the same as the prim glow setting on prims.”

He went on, “particle blending takes 2 parameters, PSYS_PART_BLEND_FUNC_SOURCE and PSYS_PART_BLEND_FUNC_DEST, and each of those takes one of the 8 ‘values’ listed underneath, so there are actually 8*8 = 64 blend options! You can do crazy things, like having particles invert the thing underneath.

“Anyway, the blend parameters are pretty technical.  It’s basically exposing OpenGL’s glBlendFunc to LSL. And the main  glBlendFunc documentation at http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml goes into the details better than I can.”

For those who can’t wait for the RC viewer with the necessary support to appear, an autobuild version is available.. However, keep in mind this is a test build for the capability, and as such is liable to be behind the curve compared to the RC version in terms of bug fixes, etc., so be sure to update to the RC version when it appears on the wiki page. The RC version is now available.

An example of how the now ribbon capabilities might be used in SL, showing the arc of the sword through the air, supplied by Maestro Linden (courtesy of Hollowfear.com)

The new ribbon capability should allow for much better particle effects for things like ropes and chains links between objects (amount other things), using a ” go-from” prim/position (the prim centre), and a “go-to” prim/position (defined by PSYS_SRC_TARGET_KEY), the advantage being there would no longer be any gaps in the particle stream. However, there may be times when the ribbon effect may not be facing your camera (so there may be times when you need to reposition your camera in order to see the effect).

Related Links