User:Andrew Linden/Office Hours/2010 09 24

From Second Life Wiki
Jump to navigation Jump to search

Transcript

[15:59] Moon Metty: hey Simon :)
[15:59] Simon Linden: hello
[16:00] Moon Metty: and Ardy, Jonathan
[16:00] Simon Linden: just sent a ping to Andrew, I think he'll be here soon
[16:00] Moon Metty: cool
[16:00] Moon Metty: i think we'll have a quiet meeting
[16:00] Moon Metty: hi Andrew :)
[16:00] Andrew Linden: Hello Moon.
[16:01] Simon Linden: Low turnout today :)
[16:01] Moon Metty: it's even suspiciously quier hehe
[16:01] Moon Metty: yeah
[16:01] Jonathan Yap: I might not last long--bad wifi connectoin
[16:02] Simon Linden: I was trying to add a swimming orca to my waterfront earlier but he got stuck turning around in the next parcel
[16:02] Moon Metty: hmmm
[16:02] Rex Cronon: hello everybody
[16:02] Simon Linden: Hi Rex
[16:02] Andrew Linden: Hi Rex.
[16:02] Moon Metty: Rex :)
[16:02] Rex Cronon: hi andrew, moon
[16:03] Andrew Linden: lets see... what sort of news do we have?
[16:03] Ardy Lay: New region crossing code activation?
[16:03] Moon Metty: hi Psi :)
[16:03] Simon Linden: The threaded region crossing code was turned on Wednesday morning
[16:03] Ardy Lay: o/
[16:03] Andrew Linden: Both Simon and I have work that should be going up on Aditi for early exposure soon.
[16:03] Psi Merlin: Hello
[16:03] Rex Cronon: hi
[16:04] Moon Metty: yes Simon, i have been monitoring the freezes and graph
[16:04] Andrew Linden: The "paperwork" has been filled out. I wonder how long it will take the #deploy group to release it to aditi.
[16:04] Simon Linden: Any change?
[16:04] Bronson Blackadder: for the most part the region crossing feature seems to work a treat
[16:04] Moon Metty: it's too early to tell, as always the freshly restarted sim behaves well
[16:04] Simon Linden: We did see a nice drop in our teleport failure numbers
[16:05] Simon Linden: but as you said, it's early so a few more days will tell us if that's going to remain lower or not
[16:05] Moon Metty: yes
[16:06] Andrew Linden: One of the pending server "Release Candidates" that should hit aditi next week is "tcmalloc + VFS overhaul + fix for stuck avatar presence"
[16:06] Andrew Linden: I dunno what "channel" that will be on.
[16:07] Moon Metty: good, the 5 minute wait that lasts forever
[16:07] Simon Linden: I think there's only one channel right now, but a second was being set up for next week
[16:07] Andrew Linden: Then we have "SVC-93/SVC-129 + faster heightfield collisions + misc fixes" should follow shortly thereafter.
[16:07]
[16:07]
[16:07] Moon Metty: alright
[16:08] Moon Metty: svc-93 :D
[16:08] Kaluura Boa: SVC-93... ❤
[16:08] Andrew Linden: BTW, I have a fix for the "viewer-1.23 has grey world map" problem... but it is a dataserver problem and will take a while to get through the pipeline.
[16:09] Andrew Linden: Finally, I looked into the "returned for offworld" problems of the recent full update roll to the world -- some objects had accidentally become too deep in the ground and were returned for being too deep.
[16:09] Simon Linden: let's see if TP arrivals look smooth or not :)
[16:09] Moon Metty: hehe
[16:10] Andrew Linden: I talked to our #support channel and they are all in favor of getting rid of the "too deep underground" check
[16:10] Andrew Linden: (which was created long before we had any parcel prim accounting)
[16:10] Kaluura Boa: I agree... Less time wasted for the sim...
[16:10] Moon Metty: i see, it's ancient
[16:10] Simon Linden: I thought about that ... is there a problem with people accidentally editing stuff and seeing the position underground, and then not being able to select it again?
[16:11] Kaluura Boa: That may arrive... If they send their stuff really deep
[16:11] Andrew Linden: So I'm going to look into removing it soon. Maybe next week... shouldn't be very hard, so I can squeeze it into my copious spare time.
[16:11] Rex Cronon: it might depend on the viewer they r using
[16:11] Jonathan Yap: Is the lower limit still going to be 0m in height for an object?
[16:11] Andrew Linden: Yeah, 0m height is a harder limit to change.
[16:11] Simon Linden: The camera gets locked above ground usually, I think. Probably depends on the viewer
[16:11] Kaluura Boa: Advanced >> Dsiabled Camera Constraints...
[16:12] Andrew Linden: er... Z = 0. I won't be expanding the position posibilities of objects below Z= 0.
[16:12] Simon Linden: ah, good, at least that's an option :)
[16:12] Andrew Linden: For the record, the "viewer-1.23 sees a grey world map" is SVC-4575
[16:12]
[16:13] Rex Cronon: come on. it would be cool to go to z=4096:)
[16:13] Rex Cronon: i mean z=-4096:)
[16:13] Andrew Linden: well, you can't really get your avatar below the ground without sitting
[16:13] Kaluura Boa: I don't think any client would allow us to get our prims back at that depth
[16:14] Moon Metty: that's a good thing, Andrew :)
[16:14] Simon Linden: they'd have to start drawing the dirt and rocks down there too :)
[16:14] Rex Cronon: no lava:)
[16:14] Simon Linden: ah, maybe that could be a region option...
[16:15] Moon Metty: i had a rough idea to reduce the load of idle scripts
[16:15] Jonathan Yap: Jump into a wormhole in the ground and end up in some new region
[16:16] Moon Metty: i think it's not necessary to check for events every frame
[16:17] Andrew Linden: Moon, you mean to have some global "has any script recieved an event of this type" accounting?
[16:17] Moon Metty: yes, bu frame0number
[16:17] Moon Metty: frame-number
[16:17] Moon Metty: i was thingking, if a very idle script checks ever 16th frame ...
[16:17] Moon Metty: the would still give an acceptable reaction time of a few 100 ms
[16:18] Simon Linden: I wonder if that would add any responsiveness problem ... sometimes they're idle for a long time, but need to respond to a collision or whatever event quickly when it happens
[16:18] Moon Metty: yeah, that's true
[16:19] Moon Metty: but it's in the same ored or ping-time
[16:19] Andrew Linden: so... an easy way for LSL script writers to perform "frame rate" filtering? "Only give me touch events bundled every XX frame counts?"
[16:19] Moon Metty: of*
[16:19] Moon Metty: yeah, maybe a lsl function like llSetScriptInterval(10)
[16:19] Moon Metty: that would force a script to only run every 10th frame
[16:19] Kaluura Boa: Don't we already have this... sort of...
[16:19] Techwolf Lupindo: Give that option to land owners. Script settings for each script. Not every script out there has a "chaec every xxx frame" setting
[16:20] Andrew Linden: such global accounting could be done in the simulator for some optimizations.
[16:20] Kaluura Boa: llMinEventDelay(delay_flt);
[16:20] Moon Metty: yes, you need 2 integers per script
[16:20] Andrew Linden: last time I looked at the event handling code in our simulator it looked rife with things that could be cleaned up
[16:20] Moon Metty: 1 for when it has to wake up, and one for last activity
[16:21] Moon Metty: i see
[16:21] Falcon Linden: NB: I'm only 30% here.
[16:21] Techwolf Lupindo: Both can be 8-bit to save on memory.
[16:21] Moon Metty: hey30% of Falcon :)
[16:21] Falcon Linden: Hi 100% of Moon :)
[16:21] Moon Metty: heehee
[16:21] Andrew Linden: So, suppose we had a "list" of scripts to handle for touch events. Whenever one was touched it would go on the list, and the list was processed each frame.
[16:21] Simon Linden: hmm, that had some lag
[16:22] Andrew Linden: the vast vast majority of the time the list would be empty
[16:22] Moon Metty: yes
[16:22] Andrew Linden: Similarly for other events, like collisions maybe.
[16:22] Falcon Linden: Andrew: the way people write scripts? Always colliding! :-P
[16:22] Moon Metty: but i think using frame-numbers for that kind of throttling is nice and simple
[16:22] Falcon Linden: /me is jaded
[16:23] Moon Metty: easier than real time clocks
[16:23] Falcon Linden: :)
[16:23] Andrew Linden: However lots of list management makes for touble when deleting objects -- you have to check all the lists (unless we had a refererenced system (like Havok :-))
[16:23] Moon Metty: lol yeah
[16:23] Falcon Linden: hehe
[16:23] Andrew Linden: yeah, the collision list could get big -- might not be such a win
[16:24] Falcon Linden: Creating a reference counting system that worked right would be /so/ hard </sarcasm> :)
[16:24] Andrew Linden: and then, someone could hack a 3rd party viewer to touch everything to the same effect
[16:24] Simon Linden: easy to create, harder to retrofit :)
[16:24] Falcon Linden: so frighteningly true
[16:25] Moon Metty: too much bookkeeping per script costs time
[16:26] Arawn Spitteler: /me wonders wht the definition of Too Much might be
[16:26] Moon Metty: well, it already takes a lot of time
[16:26] Andrew Linden: Oh yeah, more news. Sounds like we've almost fixed all "MONO upgrade" problems.
[16:27] Andrew Linden: So we might be able to finally upgrade MONO soon.
[16:27] Moon Metty: that's good news
[16:27] Andrew Linden: As you may recall, an updated MONO is a prerequisite for fixing the MONO streaming lag on region crossing and object creation.
[16:27] Moon Metty: yup
[16:27] Kaluura Boa: At long last...
[16:27] Moon Metty: very important!
[16:28] Psi Merlin: Very good news
[16:28] Rex Cronon: so now we r switching to c#?
[16:29] Jonathan Yap: Rex, Babbage & crew weren't able to finish that c# project
[16:29] Kaluura Boa: Yes, for X-Mas... Just don't forget to put it on your list to Santa...
[16:29] Moon Metty: :)
[16:29] Andrew Linden: No. It is a prerequisite for the C# project too, but that is on hold for the time being.
[16:29] Rex Cronon: i u guys would have done it in java it would have been way easier:)
[16:29] Arawn Spitteler: Some college class's compiler construction project?
[16:30] Falcon Linden: Oskar tells me you all want to be able to set your region's simulator channel via my new sim console
[16:30] Rex Cronon: if u guys*
[16:31] Jonathan Yap: We had quite a wish list at his OH yesterday
[16:31] Falcon Linden: oh?
[16:31] Rex Cronon: nope
[16:31] Andrew Linden: BTW Falcon the server-side simconsole work finally passed QA. Should be up on aditi next week... if the #deploy group gets around to it.
[16:31] Rex Cronon: we want to do things u haven't dreamed of yet;)
[16:32] Falcon Linden: woohoo. of course, there won't be a viewer that works with it ;)
[16:32] Rex Cronon: talking about your console
[16:32] Arawn Spitteler: /me wants to do things he hasn't dreamed of, yet.
[16:32] Andrew Linden: I have the viewer code in a snowstorm clone.
[16:32] Moon Metty: ahh, it's operated by the viewer
[16:32] Andrew Linden: I could merge with the main codebase.
[16:32] Andrew Linden: Well, it requires a viewer with the simconsole UI... or some other hackery to invoke it.
[16:33] Jonathan Yap: We saw a viewer with a console window -- Oskar showed us a texture photo
[16:33] Falcon Linden: we should build a web console login doohickey
[16:33] Andrew Linden: Also, I can't remember falcon... did we open any commands up to the estate managers? Or are the ALL gods-only?
[16:33] Jonathan Yap: But you should check with the foreign language support people -- having ~ as part of the shortcut might not work -- not all keyboards have that key
[16:34] Falcon Linden: well, when mesh comes out svc-5880-fix will be available
[16:34]
[16:34] Falcon Linden: there's also accurate_terrain...that's available now
[16:35] Andrew Linden: well no... accurate terrain will be part of this pending aditi "Release Candidate"
[16:35] Moon Metty: Simon, you have to replace that jira helper .. the old version will never work again
[16:35] Psi Merlin: My suggestions were to set my regions channel and get a view to it's performance - cpu / virtual memory use etc
[16:35] Simon Linden: yeah, it needs all the new links
[16:37] Moon Metty: O_O
[16:37] Moon Metty: stormy
[16:37] Andrew Linden: Hrm... we added some tcmalloc analysis hooks. We could probably eventually connect them to simconsole commands.
[16:38] Psi Merlin: It's be happy tohelp test the console on Aditi - i've got a region there and build my viewers from the snowstore repo - so could pull in the console changeset if it's available.
[16:38] Andrew Linden: Although that tcmalloc work is in a different Release Candidate.
[16:38] Falcon Linden: we can add a lot of hooks
[16:38] Andrew Linden: Ok, I'll make a note to ask Merov how to expose the viewer simconsole work to the snowstorm public.
[16:38] Falcon Linden: like havok timer hooks
[16:39] Falcon Linden: btw, did I mention svc-5880 will be fixed with mesh and a console switch? :-P
[16:39] Jonathan Yap: Please make an announcement on the dev mailing list -- people will want to pull in that changeset
[16:39] Moon Metty: hehe yes, you did
[16:40] Psi Merlin: Thanks
[16:40] Rex Cronon: why do u need meshes to fix that?
[16:40] Falcon Linden: you need new collision agents to fix that
[16:40] Andrew Linden: Oh ok. So the mesh viewer will just have the simconsole UI. I cherrypicked from that project for my own viewer build.
[16:40] Falcon Linden: and I didn't get to do that work before shipping h7
[16:41] Moon Metty: it's going to be busy on aditi when mesh goes in beta
[16:42] Falcon Linden: you have no idea...
[16:42] Simon Linden: yes, that's going to be really interesting to see people start to use it
[16:43] Falcon Linden: it's amazing
[16:43] Andrew Linden: I dunno. I think the Residents might have a better idea than me.
[16:43] Falcon Linden: I uploaded a mesh ferrari, something like 4000 triangles
[16:43] Falcon Linden: created an optimized physics representation
[16:43] Falcon Linden: drove it around
[16:43] Falcon Linden: 0.1ms simulationt ime
[16:43] Falcon Linden: time*
[16:43] Falcon Linden: vs Kart 1.0 at 1.1ms
[16:43] Moon Metty: nice
[16:44] Simon Linden: That kart is so over-detailed in the current model :(
[16:44] Falcon Linden: it's horrifying
[16:44] Rex Cronon: lol
[16:44] Moon Metty: hehe
[16:44] Falcon Linden: oh, yeah!
[16:44] Falcon Linden: Guess what else?
[16:44] Simon Linden: Falcon - do you know if there are any plans to update the library at all?
[16:44] Rex Cronon: the tires have to many pixels:)
[16:44] Falcon Linden: Simon: yeah, I've talked to DPW. We want to do that, and build a museum of examples.
[16:45] Simon Linden: That would be nice
[16:45] Falcon Linden: Rex: pixels nothing. Each tire has 160 collision triangles.
[16:45] Rex Cronon: 160 triangles make lag?
[16:45] Simon Linden: Would also work well as a tutorial ... here's the old, inefficent kart vs. a new one with a simple physics shape, but it looks even better :)
[16:45] Falcon Linden: oh, yeah, hahahaha I just realized that those time estimates were on a debug build of havok :) so the real one should be faster
[16:45] Falcon Linden: Simon: that's the plan with DPW
[16:46] Falcon Linden: Rex: 160 triangles in each wheel have to be collided against the terrain every frame
[16:46] Simon Linden: Rex - yes, it's more shapes to check to see if there are collisions or not
[16:46] Falcon Linden: that's a MINIMUM of 640 collision checks for the wheels alone.
[16:46] Falcon Linden: per frame
[16:46] Falcon Linden: compare that to my vehicle which used invisible cylinder wheels yielding 4 checks per frame
[16:47] Moon Metty: that's a huge difference
[16:47] Andrew Linden: 4 checks per wheel? or total of 4?
[16:47] Falcon Linden: total of 4...assuming 1 check comes from the terrain per body collided with...
[16:47] Falcon Linden: if you use accurate_terrain, it'll be worse
[16:48] Andrew Linden: the SampledHeightField does only one check against implicit cylinders?
[16:48] Falcon Linden: but yeah, with the usual heightfield I tihink it's 4 checks total (ignoring the vehicle's body)
[16:48] Falcon Linden: I believe that's correct, andrew
[16:48] Psi Merlin: So Falcon's versions gets round wheels :)
[16:48] Rex Cronon: correct me if i am wrong but right now doesn't havok7 consider the whole vehicle as a prim?
[16:48] Falcon Linden: not 100% sure.
[16:48] Falcon Linden: Rex: Nope
[16:48] Falcon Linden: the only thing is that right now, the performance of the akrt is usualy so bad we just simplify the wheels to be boxes
[16:48] Rex Cronon: i haven't seen vehicles rotates their tires in contact with the ground
[16:49] Falcon Linden: which is why when you hit the edge of another box on the road (SVC-5880) you go flying
[16:49] Falcon Linden: Rex: they don't rotate
[16:49] Rex Cronon: there is usually a script that rotates the texture
[16:49] Falcon Linden: no physics engine will actually have the wheels rotating
[16:49] Falcon Linden: that's nuts
[16:49] Falcon Linden: most physics engines don't even simulate the wheels at all
[16:49] Falcon Linden: they use raycasts to figure out how the suspension interacts with the ground
[16:49] Falcon Linden: much faster and more controllable to make the gameplay fun
[16:49] Moon Metty: well, i have seen a non-physical vehicle with rotating "wheels"
[16:50] Falcon Linden: Now, guess what else? I have a surprise for you
[16:50] Simon Linden: It's probably an animation effect rather than really rotating them in the physics engine
[16:50] Falcon Linden: Simon: yep
[16:50] Falcon Linden: fine, don't guess. No surprises!
[16:50] Rex Cronon: so when u say u have 640 collision for tires u don't actually have that:)
[16:50] Falcon Linden takes his surprise and goes home.
[16:50] Moon Metty: booo!
[16:50] Simon Linden: It wouldn't be hard to calculate how fast to rotate them, assuming you know the vehicle speed and aren't doing too much skidding :)
[16:51] Falcon Linden: Rex: no, you do...it kills performance, then we simplify...ugh
[16:51] Falcon Linden: as soon as performance recovers, we go back to 640, performance dies...start again
[16:51] Falcon Linden: Simon: Havok's vehicle kit gives you access to the wheel RPM as a simulation output
[16:51] Falcon Linden: Anyhow, here's the surprise.
[16:51] Simon Linden: that's nice
[16:52] Rex Cronon: falcon. let it out. if u hold it any longer u might explode:)
[16:52] Falcon Linden: llCastRay is expected to deploy with mesh (but it's VERY subserviant to that. So if it gets delayed, we will can it rather than delay mesh)
[16:52] Falcon Linden: I got the okay from the mesh team today
[16:52] Moon Metty: nice
[16:52] Bronson Blackadder: holy cow
[16:52] Simon Linden: did you sort out the api and how to deal with "hits" ?
[16:52] Rex Cronon: nice. so we will have meshes and rays:)
[16:52] Psi Merlin Smiles
[16:53] Falcon Linden: right now the plan is to ditch the old idea of 4 raycasts per linkset per frame
[16:53] Bronson Blackadder: raymesh
[16:53] Falcon Linden: instead, each av and region will have a certain number of microseconds to use for raycasts
[16:53] Falcon Linden: and that pool will be replenished at some fraction of your limit each frame
[16:53] Rex Cronon: i guess now we will really be able to fire a lazer:)
[16:53] Falcon Linden: but that way you're only "charged" for what you really use
[16:54] Falcon Linden: simon: not sure what you mean exactly re hit api
[16:54] Falcon Linden: do you mean that horror around security and bullet scripts and such?
[16:54] Andrew Linden: Falcon, do you have plans for a LLCastRay visualization on the viewer?
[16:55] Simon Linden: So when you cast the ray, how do you get the results? I remember you talking about different APIs, and don't recall if you had a final design or not
[16:55] Falcon Linden: andrew: no. Vir asked me if I'd need viewer support for it, and in order to get the okay to push it out, I said no. If we find ourselves with an abundance of viewer resources, we could do create it
[16:55] Falcon Linden: Simon: you'll specify a max hit number to be returned in the script call. The results will be immediately available because llCastRay will return a list
[16:55] Simon Linden: ah, ok, a list of objects along the ray. Cool
[16:55] Moon Metty: ok
[16:55] Falcon Linden finds it awesome that there's more response here from Lindens than from resis :)
[16:56] Moon Metty: but with a limited length
[16:56] Rex Cronon: if lsl had arrays instead of lists things might get quite fast:)
[16:56] Falcon Linden: Simon: objects, hit positions, normals...
[16:56] Andrew Linden: Well, I didn't mean plans for immediate release, but were you thinking about eventually adding a visualization effect so people can see the "lazers".
[16:56] Falcon Linden: Moon: no inherent limit, I think. Maybe...probably pretty high. As a user you'll limit it because a smaller limit means less time and memory
[16:57] Falcon Linden: Andrew: I'd love to...as well as hit effects, debug stuff, etc
[16:57] Moon Metty: like 3D particles ...
[16:57] Falcon Linden: Rex: well, I'd /really/ like support for arrays of structs...
[16:57] Falcon Linden: Moon: 3D? Naah. But better particles, yeah
[16:57] Falcon Linden: My vision remains, as ever, that SL should one day be a next gen game engine
[16:58] Falcon Linden: or rather, it should be /possible/ to use it that way
[16:58] Jonathan Yap: Will a ray detect a particle?
[16:58] Moon Metty: let's fix the freezes first :)
[16:58] Falcon Linden: definitely not
[16:58] Falcon Linden: a ray will only detect objects in the physics engine
[16:58] Simon Linden: Speaking of particles, a quick question : what's a reasonable limit for the number of particle systems an object should be able to create?
[16:58] Falcon Linden: so, e.g., when we release the ability to specify a prim as having "physics shape none" (comes with Mesh!) that prim won't be detected
[16:58] Falcon Linden: Simon: 0. :-P
[16:58] Moon Metty: it depends on the viewer , Simon
[16:58] Rex Cronon: lets hope that one day we could play games in sl. soon i hope:)
[16:59] Falcon Linden: :)
[16:59] Andrew Linden: The simulator freezes are on Simon and my agendas, and are not part of the mesh project. (We're working on them first.)
[16:59] Moon Metty: Andrew's machine doesn't do a lot of particles, i think
[16:59] Andrew Linden: I've got my particles minimized.
[16:59] Falcon Linden: btw, I highly recommend Nyx's office hours for updates on, e.g., mesh
[16:59] Moon Metty: yeah, ok
[17:00] Moon Metty: many particles create lag, because of overlapping of transparency
[17:00] Moon Metty: like in clouds
[17:00] Falcon Linden: viewer lag, yes
[17:00] Moon Metty: yeah
[17:01] Moon Metty: terrible viewer lag
[17:01] Falcon Linden: my neck hurts
[17:01] Bronson Blackadder: I uisually have clouds turned off unless I need some for pics
[17:02] Falcon Linden: and I need to call and get insurance pricing information. So I need to go :)
[17:02] Moon Metty: oh ok hehe
[17:02] Simon Linden: I found an object that just tries to create as many particle systems as possible ... the result was not good. So I'm probably going to put in some limit for how many can come out of a given linked object
[17:02] Moon Metty: see you soon Falcon :)
[17:02] Falcon Linden: bye!
[17:02] Andrew Linden: Yeah, it's time to go.
[17:02] Andrew Linden: Thanks for coming everyone.
[17:02] Moon Metty: ok Simon
[17:02] Rex Cronon: tc falcon
[17:02] Simon Linden: Yes, thanks everyone for coming
[17:02] Simon Linden: See you next time
[17:02] Rex Cronon: tc simon
[17:02] Jonathan Yap: Thank you everyone
[17:03] Moon Metty: have a good weekend :)
[17:03] Rex Cronon: tc andrew
[17:03] Psi Merlin: Thanks , great news on forcomming attractions
[17:03] Simon Linden: Bye all
[17:03] Moon Metty: bye!
[17:03] Kaluura Boa: Good night everybody...
[17:03] Rex Cronon: tc everybody
[17:04] Moon Metty: time to relax!
[17:05] Moon Metty: see you soon everyone
[17:05] Bronson Blackadder: laterz

Generated with SLog Wikifier