User:Andrew Linden/Office Hours/2010 08 31

From Second Life Wiki
Jump to navigation Jump to search

Transcript

[11:02] Moon Metty: hey Andrew
[11:02] Ardy Lay: Ih Andrew
[11:02] Moon Metty: yes
[11:02] Latif Khalifa: i was not talkgin about name tags, but hover text Ardy
[11:02] Andrew Linden: Hello everyone.
[11:02] Rex Cronon: hi andrew
[11:03] TheBlack Box: hi#
[11:03] Ardy Lay: Latif, yes, might add that to your hover text pJIRA issues at it seems to have the same cause.
[11:03] Andrew Linden: Simon won't be able to make it today. Rumor has it he is changing a flat tire somewhere right now.
[11:03] Jonathan Yap: Simon was here 20 minutes ago and ran along
[11:03] Moon Metty: ah, a hardware problem
[11:03] Latif Khalifa: Ardy, will do thanks
[11:03] Latif Khalifa: hey Andrew :)
[11:04] Andrew Linden: I asked Falcon to cover for both Simon and I last Friday. Did he show up?
[11:04] Rex Cronon: hopefully the car has good documentation of how to do that:)
[11:04] Bronson Blackadder: yes
[11:04] Moon Metty: yes, we had a great meeting
[11:04] Andrew Linden: ok good. I never got a transcript, but maybe Ardy saved one. I'll look for it.
[11:04] Ardy Lay: Just updated those, Andrew.
[11:05] Andrew Linden: Ok I'm working on two things this week:
[11:05] Slee Mayo: whispers: !stop
[11:05] Imaze Rhiano: hopefully he also have proper backup and debugging tools for his car
[11:05] Andrew Linden: (1) Change the linkability rules to be faster to compute
[11:05] Andrew Linden: (2) Implement a few LSL methods that will allow content (such as prim-hair) to use fewer scripts
[11:06] Latif Khalifa: llSetObjectScale?
[11:06] Andrew Linden: number (2) is my motivation for working on llSetObjectScale()
[11:06] Rex Cronon: u mean resize all the prims in linked set:)
[11:06] Latif Khalifa: o/
[11:06] Andrew Linden: however, I'm curious if that is all that's missing for most prim-hair to collapse down to one script
[11:06] Latif Khalifa: good news!
[11:07] Andrew Linden: anybody here make prim hair for profit?
[11:07] Imaze Rhiano: I was wondering why limit llSetObjectScale to one scaling paremeter - why alllow different scaling to each axis?
[11:07] Latif Khalifa: Adrew, that's ¤1 reason
[11:07] Imaze Rhiano: why not allow
[11:07] Liisa Runo: it should be enough for making them have just one script
[11:07] Andrew Linden: Imaze, asymmetric scaling of linked objects introduces shear (in the general case)
[11:07] Rex Cronon: well. is already possible to resize hair with only one script. hopfully the function u r working on will do it faster:)
[11:07] Andrew Linden: and we don't support arbitrary shear of prims
[11:08] Latif Khalifa: Rex, it's very clumsy and slow to do it now with 1 script
[11:08] Latif Khalifa: Andrew, I have a couple of questions regarding object caching if you don't mind
[11:08] Rex Cronon: nope. it is neither slow nor clumsy:)
[11:08] Andrew Linden: ok, if there is no other blocker for most single-script prim hair then that is the limit of my item (2) --> llSetObjectScale()
[11:08] Imaze Rhiano: how that can cause shear?
[11:09] Rex Cronon: objects in a linked set can be rotated around their own center
[11:09] Moon Metty: not all prims have the same local rotation
[11:09] Qie Niangao: Imaze: take a cube, link it with another cube at 45 degrees. now, how to scale that in a single dimension?
[11:09] Andrew Linden: I'll consider the llGetObjectScale() problem too, but that is tricky because the uniform scale factor is typically a scalar multiple of the current scale
[11:09] Rex Cronon: when stretch the linked set along one axis thing happen
[11:10] TheBlack Box: Imaze: Scaling an linked object out of its X/Y/Z ratio would require a shearing on some prims in a direction that is not implemented
[11:10] Andrew Linden: Moon is correct. In general linked prims have different rotations
[11:10] Moon Metty: hey Arawn :)
[11:11] Arawn Spitteler: Hi-Hi, Moon
[11:11] Andrew Linden: to scale the entire object in an asymmetric manor would shear any prims that had non-trivial rotations
[11:11] Rex Cronon: although, if ll were to take all the vertices in a linked set and stretch them, there would be no problem stretching along one axis:)
[11:11] Latif Khalifa: I wanted to ask about object caching in the simulator and in the viewer. After the recent bug with the viewer not caching properly it was discovered that there is another issue with it. Namely the viewer does not cache full ObjectUpdate messages, only those updates that come with ObjectUpdateCompressed messages. Is this by design, or is it a bug?
[11:11] Moon Metty: compressed in what way, Latif?
[11:12] Imaze Rhiano: damn prims... you could at least do that for meshes? :P
[11:12] Andrew Linden: Hrm... Latif I hadn't heard that limitation of what the viewer was saving.
[11:12] Andrew Linden: I suspect it is by design, however the design is very old -- all the people who really worked on it are gone.
[11:12] Lestat Demain: your not familiar with the 'sobjects' cache bug?
[11:12] Latif Khalifa: Andrew, I have confirmed it. Using Simian simulator and changing all object updates to be Compressed we managed to shave off 17s of communication time
[11:13] Chaley May: you should make it possible to size all prims in all directions :)
[11:13] Rex Cronon: 17 seconds?
[11:13] Latif Khalifa: Moon, two different type of messages that sim sends to the viewer about the existance of a prim
[11:13] Latif Khalifa: one messages gets cached by the viewer, and the other doesn't
[11:13] Andrew Linden: Ok, I'll look into that Latif.
[11:13] Moon Metty: but what kind of compression is used?
[11:14] Jonathan Yap: Moon, it is a protocol compression
[11:14] Andrew Linden: I already fixed another "object geometry cache" bug, I think I mentioned it last week...
[11:14] Andrew Linden: oh, no I didn't. I fixed it on Friday then had to go early
[11:14] Latif Khalifa: Andrew, I would be curious to know how does cahing work sim side, when and how the sim decides to send ObjectUpdateCached... if it is not too much hassle :)
[11:14] Andrew Linden: but the simulator is invalidating the cache of the static geometry on restart
[11:15] Andrew Linden: Sure, this is how the static geometry cache system works...
[11:16] Andrew Linden: er... this is really how the "interestlist" works with the viewer cache...
[11:16] TheBlack Box: the flexibility in scaling arbitraritly will need to wait until mesh-imports also support the collada-transforms properly ... and in-world editting ... then a whole lot of things could become really convenient i guess
[11:16] Andrew Linden: When a viewer connects to a region the region will send it a list of static objects in view
[11:16] Cummere Mayo: sorry im late.
[11:16] Andrew Linden: the list is really just a list of (local_id:CRC) pairs
[11:17] Butzsi Python: bye
[11:17] Lestat Demain: cam view aka minimap
[11:17] Andrew Linden: er... I take that back. the info is a list of (local_id : version#) pairs
[11:17] Latif Khalifa: Andrew, the sim will send those irrespective of it's local state, does it track to whom it has sent the updates before?
[11:18] Andrew Linden: (the code calls it a CRC but it really is just a per-object version number that gets incremented)
[11:18] Arawn Spitteler: /me notes the tardiness of Cummere to be a minor point: We'll be very sorry, when you're late, but that too shall pass.
[11:18] Andrew Linden: anyway, the viewer checks its cache (if it has one)
[11:18] Andrew Linden: and for each local_id that the simulator sends it checks
[11:18] Tammy Nowotny: better late than never
[11:18] Lestat Demain: mine duz
[11:18] Andrew Linden: (1) if it has a version# for it
[11:19] Andrew Linden: (2) if the version# matches
[11:19] Andrew Linden: if they match then the viewer doesn't respond back to the simulator about that object
[11:19] Latif Khalifa: Andrew, so sim will send those to all new agents it encounters?
[11:19] Latif Khalifa: doesn't check if the agent was there before or anything?
[11:19] Lestat Demain: LLViewerRegion::saveCache: Leaving sim writing cache file G:cacheobjects_997_999.slc
[11:20] Andrew Linden: if the numbers disagree then it sends a "CacheMiss" message, which is a list of local_id's for which it has the wrong version#'s
[11:20] Andrew Linden: the simulator will send full (Compressed, I think) updates for those CacheMisses
[11:20] Cummere Mayo: /me raises hand. "wouldnt it be better to have it respond back if there is a match, that way if someone is having connection issues and dropped packets, they will get resent stuff they need instead of missing stuff they need?
[11:21] Andrew Linden: Yes, the simulator sends the list of (local_id : version#) pairs to all agents who arrive inside
[11:21] Latif Khalifa: Cummere, these are marked reliable messages so resends happen automatically
[11:21] Jonathan Yap: That is based on draw distance?
[11:21] Lestat Demain: yep
[11:21] Cummere Mayo: latif... sorry. remember im NOT a programmer so some of this doesnt always make as much sense to me -_-
[11:22] Andrew Linden: Moon is right. The static geometry messages are sent "reliable" and are resent several times if they fail to get there
[11:22] Moon Metty: that was Latif :)
[11:22] Andrew Linden: however... I think they are still going over the UDP message system, so "reliable" really must means "try several times but eventually give up"
[11:23] Cummere Mayo: okay sorry for my ignorance -_-
[11:23] Andrew Linden: so it is possible that in cases of extreme packet loss the data never gets through
[11:23] Qie Niangao: The draw distance question is important: what happens when a viewer changes draw distance? does the sim know what it's told the viewer about before (after it recalculates the interest list for the new draw distance) ?
[11:23] Andrew Linden: Yes, the simulator does some basic "culling" of the data visible by the viewer
[11:24] Andrew Linden: if the viewer changes draw distance it could change the data sent by the interestlist code
[11:24] Latif Khalifa: Qie, there is ViewerFOV message (field of vision) where viewre tells to the sim this is what i should get
[11:24] Moon Metty: the jira about the culling is vwr-5588
[11:24] Objects within draw distance not rendered when standing away some meters - Second Life Bug Tracker
[11:24] Moon Metty: oh no
[11:24] Tillie Ariantho: spamm0r! :P
[11:24] Moon Metty: jira changed
[11:24] Andrew Linden: however, there are all sorts of bugs, inefficiencies, and other problems with the interestlist code, so the culling is probably not what you'd expect
[11:24] Latif Khalifa: jira formating changed, all jira helpers are broke :P
[11:24] Qie Niangao: right, the question is about how hard the sim has to work to figure out what to send, and then how much it ends up sending that it already knew about from last update
[11:25] Rex Cronon: nice. ll broke the helpers:(
[11:25] Moon Metty: it gives me something to do ...
[11:25] Tammy Nowotny: speaking of arriving late; I think I have to lve early
[11:25] Tammy Nowotny: TYVM Andrew
[11:25] Techwolf Lupindo: /me lol at WEB-2706
[11:25] Error in comments section of WEB-814 - Second Life Bug Tracker
[11:25] Rex Cronon: tc
[11:25] Tammy Nowotny: tc
[11:25] Latif Khalifa: Qie, yes, optimizing the interest list to send the closest object first would improve perceived rez speed a lot
[11:25] Arawn Spitteler: Live while you can
[11:26] Qie Niangao: well, I'm worrying about how bad it is to adjust draw distance frequently.
[11:26] Cummere Mayo: ao on
[11:27] Imaze Rhiano: Qie - like some gestures that were sold recently in xstreet?
[11:27] Latif Khalifa: Qie, not bad, the viewer sends these "field of vision" messages to the sim all the time. If you rotate in place you will send like 10 of them
[11:27] Andrew Linden: Qie, I wouldn't worry too much about the simulator side of draw distance, unless your render FPS is fantastic at all distances
[11:27] Andrew Linden: that is, draw distance will probably affect your render FPS more than anything else.
[11:27] Moon Metty: well, small objects don't show up at all, at relatively close distance
[11:27] Moon Metty: that's what 5588 is about
[11:28] Latif Khalifa: yeah interest list is pretty broke
[11:28] Qie Niangao: okay, thanks.
[11:28] Dark Zebendein: Andrew have we thought about addressing server architecture yes to alleviate lag on busy sims... and also alleviate the massive lag of crossing one sim to another?
[11:28] Techwolf Lupindo: There are two different type of speedrezzer floating around. One is a gestrue that everyone knows about, but the other is a patch that does this. 1. Set dd to minumun _BEFORE_ teleport. 2. After teleport, waits so many seconds and then bumps up dd one step at a time every thirty secnds untill at beginning draw distance. The main diffence is the gester impact performacne as it does not set drawdistance before teleport and the patches set drawdistance before teleport.
[11:28] Andrew Linden: Oh yeah, the "small obejct culling" may be affected by the simulator's notion of draw distance.
[11:28] Dark Zebendein: yet not yes
[11:29] Latif Khalifa: you don't see object of 0.5m at 16m distance
[11:29] Latif Khalifa: which is too uc culling
[11:29] Latif Khalifa: much
[11:29] Moon Metty: 0.63 m yes, it's not that small
[11:29] Latif Khalifa: and the interest list is calculated from avatar, and not camera position
[11:29] Andrew Linden: Dark, we have thought about that. That is exactly what I'm working on these days. Me and the "Engine Room" team.
[11:30] Dark Zebendein: Andrew heh well I mean its only an 8 year old problem
[11:30] office hours is half over
[11:30] Dark Zebendein: Andrew are you still using 1.8 Dual core semprons as servers?
[11:30] Lestat Demain: andrew can a sim texture list be saved locally like the sim object list?
[11:30] Andrew Linden: Dark, you telling me? ;-)
[11:30] Arawn Spitteler: A Cubic Cubit isn't small, if stuffed with books, before tripping over.
[11:31] Andrew Linden: Lestat, I've been recommending that strategy for a couple years now.
[11:31] Lestat Demain: if so it would save a heck of a lot of time on crossings
[11:31] Andrew Linden: However with the HTTP texture pipeline there will be one big texture cache, I think.
[11:31] Andrew Linden: But per-region object geometry cache.
[11:32] Lestat Demain: no no just a list because the dumped textures will still be in local cache
[11:32] Latif Khalifa: Lestat, list of textures is already part of the prim cache
[11:32] Latif Khalifa: (each prim has TextureEntry which is basically a list of textures used for that prim)
[11:32] Lestat Demain: yes but it keeps getting dumped and refreshed
[11:33] Latif Khalifa: well that's your general texture cache not working properly issue
[11:33] Jonathan Yap: What controls it being dumped?
[11:33] Lestat Demain: a timer
[11:34] Andrew Linden: I don't know the viewer cache system very well, and then it changed recently with HTTP texture download.
[11:34] Techwolf Lupindo: I foudn a few bugs in it and have posted a few jiras about it.
[11:35] Andrew Linden: I might be able to convince Bao Linden to show up for a guest appearance to talk about viewer-side cache and texture pipeline.
[11:35] Techwolf Lupindo: right now I run DISCARD=0 due to some bugs with it.
[11:35] Techwolf Lupindo: I WANT in that meeting.
[11:35] Latif Khalifa: I have to go, Andew, thank you very much for explainging sim side of geometry caching
[11:36] Cummere Mayo: that woudl be cool andrew
[11:36] Andrew Linden: You're welcome, Latif. Take it easy.
[11:36] Andrew Linden: Ok, I'll ask Bao. I think he'll be in SF soon, so maybe while he's here.
[11:37] Lestat Demain: well i already got tp down to 3 secs im just wondering how far i can go
[11:37] Andrew Linden: SF = San Francisco
[11:37] Cummere Mayo: andrew can i tuck two questions into the end of your agenda?
[11:37] Moon Metty: now what, the checkboxes for "running" and "mono" are greyed out
[11:37] Andrew Linden: sure, go ahead Cummere.
[11:39] Cummere Mayo: I have a question abotu if vwr-6548 is tied to havok in some way? and also if you know of a good way to implement (and rush) scv-6228
[11:39] Can no longer sellect a massive build since 1.19.1(4) viewer. - Second Life Bug Tracker
[11:39] Andrew Linden: BTW, its probably better to not ask about asking, but to just ask.
[11:39] Cummere Mayo: /me really wishes that the web team would find that broken tag on the jira, and then points way up above the green spamage to her questions
[11:40] Andrew Linden: VWR- 6548 is not related to Havok.
[11:40] Cummere Mayo: oaky cool. that answers one question brought up earlier today. thank you
[11:41] Arawn Spitteler: Floodage, rather than Spammage
[11:41] Nimh20 Vandeverre: 12 Showstopper bugs all but 1 with status Waiting Review--wow--Must be nice to be an LLC
[11:41] Andrew Linden: Yeah, I've got some ideas related to enforcement of parcel bans in general
[11:41] Qie Niangao: I observe that even blacklist bans only go to 768m Above Ground Level, not to build ceiling.
[11:41] Andrew Linden: however, working on that just isn't on my short list
[11:41] Slee Mayo: it looks like the leading <title> tag is missing
[11:42] Cummere Mayo: i think svc-6228 needs to be passed to someone that can get it implimented before the merger.
[11:42] Age verification can't protect content that is more than 50 M above terrain - Second Life Bug Tracker
[11:42] Slee Mayo: i'm sure that's what simon was parsing...<title> to </title>
[11:42] Andrew Linden: priorities for the team I'm working with are currently all about performance
[11:42] Lestat Demain: my specialty
[11:42] Moon Metty: i already fixed it here
[11:42] Cummere Mayo: understandable andrew. do you know a team you could possibly bring that too ?
[11:43] Rex Cronon: com one peopel. stop mentioning s_v_c numbers:(
[11:43] Moon Metty: SVC-6228
[11:43] Age verification can't protect content that is more than 50 M above terrain
[11:43] Rex Cronon: people*
[11:43] Slee Mayo: nope, <title> is on the webpage, nm
[11:43] Moon Metty: sorry
[11:43] Techwolf Lupindo: Better performace is good and will help keep newcommers to SL. Better access controls will help attract ex-resednets that was driven off with harrassers.
[11:43] Cummere Mayo: yeah its broken on the webpage itself. im not sure whcih web team to take that too
[11:44] Andrew Linden: Yeah Cummere, I don't know who is working on the "removal of the Teen Grid" project
[11:44] Dark Zebendein: Andrew here is an idea for performance... put in some code that detects a persons graphics card and if they have integrated graphics on MB or laptop MB dont allow them access to the grid ;-) half your performance complaints gone LOL
[11:44] Andrew Linden: but yes, I'll try to find them and mention that jira item
[11:44] Andrew Linden: Ok. I've got to go -- another meeting starts now
[11:44] Rex Cronon: no kidding dark. your solution is unvelivable. lol
[11:44] Cummere Mayo: /me nods. "I knwo andrew, but now ive got a professional conflict of intrest with LL until i some fo these get fixed
[11:44] Rex Cronon: unbelivable*
[11:44] Imaze Rhiano: about... performance - how are scripts memory limits coming? Kelly said that they are in their backlog...
[11:44] Qie Niangao: thanks Andrew
[11:45] Dark Zebendein: Rex its also true... You'd be surprised how many people I help as a mentor and helper that tell me they have a laptop with integrated graphics
[11:45] Imaze Rhiano: bye andrew
[11:45] Chaley May: bye andrew
[11:45] Dark Zebendein: bye andrew
[11:45] Andrew Linden: See you all later. Thanks for coming.
[11:45] Ardy Lay: By Andrew
[11:45] Rex Cronon: tc andrew

Generated with SLog Wikifier