Simulator User Group/Transcripts/2011.09.06
|Prev 2011.09.02||Next 2011.09.09|
List of Speakers
|Andrew Linden||Arawn Spitteler||Draconis Neurocam|
|Fancy Greeter||Flip Idlemind||Imaze Rhiano|
|Kadah Coba||Kaluura Boa||Leonel Iceghost|
|Mercille Linden||Rex Cronon||Sahkolihaa Contepomi|
|Simon Linden||TankMaster Finesmith||Techwolf Lupindo|
[12:02] Rex Cronon: greetings everybody
[12:02] Simon Linden: That happened a while ago, Arawn
[12:03] Arawn Spitteler: Are you still allowed to hire in that state?
[12:03] Draconis Neurocam: hello mercille and andrew
[12:03] Simon Linden: California? Yes
[12:03] Mercille Linden: man I need more scripts - I'm not even in the top 3
[12:04] Simon Linden: You need to stock up on HUDs :)
[12:04] Imaze Rhiano: you need hair with old style resizer
[12:04] Andrew Linden: Since yesterday was a holiday here in the US, there was very little work done between last Friday meeting and now.
[12:04] Leonel Iceghost: make yourself a database script of something
[12:05] Andrew Linden: I recall (now) that I was going to try to run some of my own benchmarks on my "faster scripts" project on aditi, but did not get to it.
[12:05] Andrew Linden: This morning I've been working on getting some unit tests functioning again in that project.
[12:05] Andrew Linden: which needs to be done, but isn't very interesting.
[12:06] Andrew Linden: One of the things we talked about on Friday was a revisit of that "projectiles get stuck" bug that was introduced in the Havok7 project. Lemme find that jira number again...
[12:07] Andrew Linden: SVC-5927
[12:07] JIRA-helper: http://jira.secondlife.com/browse/SVC-5927
[#SVC-5927] Temp on Rezzed objects get queued
[12:08] Andrew Linden: I was thinking about that problem on my way home
[12:08] Techwolf Lupindo: I remember that if parcel is set to no object entry, one could throw stuff a ti and it frezzes in mid air. Make for great fun at times. :-)
[12:08] Andrew Linden: and had an idea on something to try.
[12:08] Draconis Neurocam: what is your idea?
[12:09] Andrew Linden: I've got too many projects on my plate as it is, but I was thinking about taking a swing at that and putting up a test region somewhere.
[12:09] Andrew Linden: Well, when I looked at the code I saw that it kicks in for one of three reasons...
[12:10] Andrew Linden: (1) Too many objects to move within a physics frame
[12:10] Andrew Linden: (2) Physics FPS is "critical" (I think < 15 fps)
[12:10] Fancy Greeter: Kelly Linden has arrived!
[12:11] Andrew Linden: (3) too much memory consumption in the physics engine (from creating collision points when adding objects to the world (I think))
[12:11] Andrew Linden: The behavior was really designed to protect against (3) since that is what can affect the entire host (and the other simulator processes on it).
[12:12] Andrew Linden: So I figured I would only trigger on that one logic condition, and also look into how objects get "unfrozen" to see if there are any logic problems there.
[12:12] Draconis Neurocam: interesting
[12:13] Andrew Linden: But I'll need to run some "tests" and I don't have the content or fighters to trigger the problem.
[12:13] Andrew Linden: So anyway, if I manage to get such a test project up, I may look for some volunteers to help me test it out.
[12:13] Andrew Linden: No need to volunteer now
[12:13] Rex Cronon: i think once an on object freezes, it can't come out of it
[12:13] Andrew Linden: I'll make a more formal request once I have something.
[12:14] Andrew Linden: I'll probably put up a hacked simulator on agni with the test code so we don't have to migrate everyone over to aditi to run a battle test.
[12:14] Andrew Linden: That's all the news I had today. The table is open
[12:15] Sahkolihaa Contepomi: Has there been any improvements regarding sim crosses, at all? Was actually driving along the mainland road yesterday and had some terrible crosses.
[12:15] Imaze Rhiano: I guess you can tinker it and improve code there, but in the end it comes really to scalability and architecture to allow more objects to rezzed world. I think it it would be better way to find alternatives for rezzing objects - like improving llCastRay function.
[12:16] Andrew Linden: No improvements have been shipped recently that I know of Sahkolihaa.
[12:16] Mercille Linden: Koli - yes and no
[12:16] Rex Cronon: why don't u have a cleaner that periodically unfreezs things when things r calm
[12:16] Leonel Iceghost: Andrew, instead of entering a frezeeing mode, can't you just don't process them till the next frame? and at the next frame keep from where you were at in the list
[12:17] Mercille Linden: yes, we have code in progress but it is still a little ways out
[12:17] Sahkolihaa Contepomi: Ah.
[12:18] Andrew Linden: Rex, I have to study the code a bit more to fully understand what can be done.
[12:19] Andrew Linden: If the simulator is hitting the memory problem in the physics engine it really is not helpfull to proceed anyway.
[12:19] Andrew Linden: However, the the other two cases it might be ok.
[12:20] Rex Cronon: it looks like the sim forgets it froze things
[12:20] Andrew Linden: What I've noticed is that the battle-play that goes on in SL doesn't have a decent throttle... except for lag.
[12:20] Andrew Linden: Fighters will just rez lots of stuff as fast as they can... it is within their interest to do so, to win the game.
[12:21] Andrew Linden: Of course, there is a tragedy of the commons, and the system just can't supply the demand.
[12:21] Draconis Neurocam: which is why it would be nice to have raycast detection, so it would just be theoretical objects, with less demand
[12:21] Andrew Linden: There will always be more demand. It is the nature of the game being played.
[12:21] Andrew Linden: So that reminds me of my other idea on that project...
[12:22] Andrew Linden: I was thinking about adding a feedback loop into the LSL rez code
[12:22] Rex Cronon: there won't less laggy. the scripts will have to compute trajectories and react to collisions
[12:22] Leonel Iceghost: Andrew, if (3) hits, and it uses too much memory, how does it improve by just frezee all and wait? the memory is still used when unfrezeeing?
[12:22] Rex Cronon: won't be*
[12:22] Andrew Linden: to slow down rezzes when rezzes are already too high.
[12:22] Andrew Linden: What really freezes Leonel is the addition of the physics body to the physics engine.
[12:23] Andrew Linden: Since the "visible" location of the projectile is following the physical body (which isn't moving) the apparent position does not move.
[12:23] Andrew Linden: Adding the object's physics body to the world when the phys engine is already dying for memory does not help.
[12:24] Andrew Linden: The reason it is dying for memory has more to do with the collision points that are being generated.
[12:24] Andrew Linden: When objects are created on top of each other (in penetration) the number of collision points generated per frame can be high.
[12:25] Andrew Linden: So much of the memory is used to hold collision points which are somewhat "temporary"...
[12:25] Andrew Linden: they persist across physics frames, but tend to be reaped when objects stop colliding
[12:26] Andrew Linden: I suspect most of the "problem" objects are actually multiple copies of projectiles that are being rezzed on top of each other.
[12:26] Andrew Linden: When things slow down, but scripts continue to rez like crazy things start to stack up, and provide positive feedback.
[12:27] Rex Cronon: u could not allow objects to be rezzed inside other solid objects:)
[12:27] Leonel Iceghost: when you turn an object colliding with an avatar not phantom, it doesn't get processed till the avatar goes away and come back
[12:27] Andrew Linden: Two armies rezzing arrows on top of each other in heavy lag is what triggers the problem.
[12:28] Andrew Linden: Hrm... I wonder if the solution could be helped using collision groups...
[12:28] Andrew Linden: The "collision group" of an object can be assigned, and particular groups can be configured to not collide with each other.
[12:28] Andrew Linden: However, we don't have an unlimited supply of collision groups.
[12:28] Draconis Neurocam: that would be wonderful
[12:29] Draconis Neurocam: collision filter is limited as it is
[12:29] Imaze Rhiano: I think that solution would be - find alternative for rezzing those arrows
[12:29] Rex Cronon: what is max nr of collision groups?
[12:29] Andrew Linden: If the simulator could "know" that some object being created is a "bullet" or "arrow" and shouldn't be colliding with other projectiles then I suspect that would help.
[12:29] Draconis Neurocam: mhm
[12:29] Andrew Linden: I think we have 31 collision groups to play with.
[12:30] Leonel Iceghost: that's not much
[12:30] Rex Cronon: it it usefull to have collisoion between projectiles
[12:30] Imaze Rhiano: doesn't havok have special build in methods to handle bullets?
[12:30] Rex Cronon: collision*
[12:30] Andrew Linden: And... we're already using about 6 of the collision groups.
[12:30] Meeter: Timecheck : User Group is half over
[12:31] Draconis Neurocam: just give people an option to set them to one of the collisions groups, and the option to filter collision via group
[12:32] Andrew Linden: per-object per-group filtering is not very efficient, but I think Havok provides enough hooks to do that
[12:32] Rex Cronon: there r shields that actually fire "projectiles" at incomming bullets. if shields and bullets can't intereact...
[12:32] Andrew Linden: the nice thing about collision groups is that the filtering can be done very early and cheaply
[12:32] Andrew Linden: I think it happens right after the "broadphase" but before the "narrophase" collision passes
[12:33] Andrew Linden: "broadphase" is just where potential colliding bounding boxes are built up
[12:33] Andrew Linden: and "narrowphase" is where the details of the collision (if any) is done
[12:34] Andrew Linden: Hrm... yeah I thought so Rex. We couldn't just turn on the collision group solution and break content...
[12:34] Andrew Linden: or maybe we could in certain circumstances... such as heavy memory consumption
[12:34] Andrew Linden: hrm...
[12:34] Leonel Iceghost: so when you turn an object not phantom and the avatar doesn't get still collisions, it is using those groups?
[12:35] Andrew Linden: I could assign all rezzed dynamic objects to a particular collision group and allow that group to collide with itself by default
[12:35] Andrew Linden: but if things go bad I could disable collisions for that group with itself
[12:36] Andrew Linden: Leonel, the behavior you're asking about is a special solution for "trapped avatars" inside some object.
[12:36] Andrew Linden: In that particular case it is a per-object-pair collision filter
[12:36] Andrew Linden: which is ok for a few pairs
[12:36] Rex Cronon: why can't u disallow rezing of physical objects inside other objects that are not phantom?
[12:37] Andrew Linden: but not something to which you'd want to add very large numbers of pairs
[12:37] Andrew Linden: Rex, you mean to first query whether the object would show up inside another object? And then not rez it if so?
[12:37] Rex Cronon: yes
[12:38] Andrew Linden: That would require a collision query, which requires us to add the object to the world to make it.
[12:38] Andrew Linden: Which defeats the purpose of the proposed solution.
[12:39] Rex Cronon: to me it looks like a lot of lag take place in physical objects trapped inside other objects try to get out
[12:39] Rex Cronon: takes places if physical*
[12:39] Andrew Linden: Ah, I think I've got a refinement of the idea...
[12:40] Andrew Linden: I could give all "temp and dynamic" objects a particular collision group (if they aren't something special already, such as "phantom")
[12:40] Andrew Linden: collisions between such objects would be enabled by default
[12:41] Andrew Linden: but if the phys engine starts to melt for too many collisions I can temporarily disable collisions within that group
[12:41] Leonel Iceghost: that would it fix those lag bombs too, isn't it?
[12:41] Andrew Linden: that is, temp+dynamic vs temp+dynamic
[12:41] Leonel Iceghost: that frezee the sim
[12:42] Andrew Linden: Leonel, I'm not sure... perhaps some lag bombs. There is more than one variety.
[12:43] Leonel Iceghost: is there a way you can "block" the rezzer to keep rezzing for a period?
[12:43] Andrew Linden: Leonel, you mean to "prevent" rezzing for a period?
[12:44] Leonel Iceghost: yes, don't process any physical rezzing with an object
[12:44] Leonel Iceghost: dynamic, that is
[12:44] Andrew Linden: Possibly, but that worries me... about broken content.
[12:44] Draconis Neurocam: yeah theres a blacklist for causing problems in the region, but i think its only tied to uuids, and would break some content yes
[12:45] Leonel Iceghost: just for dynamic and temp on rez objects, what could it break
[12:45] Andrew Linden: I probably wouldn't want to prevent all rezzes -- when preventing rezzes stuff can break.
[12:45] Andrew Linden: but it would be hard to make the simulator smart enough to know what could be rezzed and what could not.
[12:45] Scripttime Meeroo whispers: Simon Linden will you please pick me up and snuggle me?
[12:45] Techwolf Lupindo: Let that a new problem? re:stuff not rezzing. ;-)
[12:46] Techwolf Lupindo: Let-Like
[12:46] Leonel Iceghost: maybe but if the sim is going to frezee.. who cares if an object cannot rez dynamic things.. I don't know
[12:46] Leonel Iceghost: it is a last action, not something common
[12:47] Andrew Linden: yes perhaps... can't rez temp + dynamic things -- won't break too much stuff that isn't already broken by the heavy lag or pinned objects
[12:47] Leonel Iceghost: we want to walk in the sim, anything else should be fixed for the scripter
[12:48] Andrew Linden: Could you rephrase that last sentence Leonel?
[12:49] Leonel Iceghost: we want to walk, run, move in our sims, if something rezzing dynamic objects are broken it is something to go tell the creator of the object: "hey, your object is grieffing and gets black listed every second and doesn't work"
[12:50] Leonel Iceghost: normal home rezzers won't get the problem, as those are not dynamic
[12:50] Rex Cronon: maybe that object doesn't work because there other objects that lag the sim:)
[12:50] Andrew Linden: I agree somewhat... priority should be given to being able to move around, yes.
[12:51] Leonel Iceghost: that would indeed be a problem Rex
[12:51] Andrew Linden: However, it sure would be easy to make it so that avatars could always be able to move around... just disable all scripts and rezzing.
[12:51] Andrew Linden: Not a very interesting setup, but very reliable for avatar movement.
[12:51] Leonel Iceghost: why script don't disable scripts lol
[12:52] Andrew Linden: Well, this has been a useful discussion. I've got some new ideas to try and have taken notes.
[12:52] Rex Cronon: a script in same object as another script can disable the other script or itself
[12:52] Draconis Neurocam: take care andrew, thanks simon, kelly, and mercille
[12:53] Leonel Iceghost: scripts already have an scheduler and a "don't process till the next frame" thing
[12:53] Simon Linden: Thanks everyone for coming
[12:53] Imaze Rhiano: thanks for 0h
[12:53] Andrew Linden: Hey, it's not quite over yet.
[12:53] Flip Idlemind: This isn't "extremely" important, but can anyone think of a reason why this would not be a good idea:
[12:53] Flip Idlemind: SVC-7244
[12:53] Rex Cronon: ending it early today?
[12:53] JIRA-helper: http://jira.secondlife.com/browse/SVC-7244
[#SVC-7244] Region Restart Notices on Arrival
[12:53] Simon Linden: lol, I'm jumping the gun
[12:53] Andrew Linden: No, I'm hanging out until 13:00.
[12:54] Simon Linden: That looks like a good idea
[12:55] Kaluura Boa: And while you're at touching notices, could you disable the display name change notices... Most of the time, they are about strangers we don't care about.
[12:55] Meeter: Timecheck : User Group is almost over
[12:56] Andrew Linden: Yeah, it would be nice to have. I wonder how hard it is, because I wouldn't put it very high on my priority list, but if it were easy I might work on it.
[12:56] Andrew Linden: "display name change notices"? What are those?
[12:57] Kaluura Boa: I had that in my clipboard:
[12:57] Simon Linden: That should be done as a different jira, Kaluura, but I haven't noticed those very much ... do others see many display name change notices?
[12:57] TankMaster Finesmith: re SVC-7244, I would prefer the region not allow avatar entery while a restart is pending
[12:57] TankMaster Finesmith: preventing soemone from logging in and the region restarting as they are loading
[12:57] TankMaster Finesmith: then they get loged out
[12:57] Sahkolihaa Contepomi: Except for estate managers.
[12:57] Andrew Linden: perhaps only in the last 30 seconds TankMaster
[12:57] Kadah Coba: If you're in the same region when someone changes their DN, its sends a notice to everyone in the region
[12:57] TankMaster Finesmith: perhaps
[12:58] Simon Linden: We should block the entry when it gets really close ... under 30 seconds, maybe
[12:58] TankMaster Finesmith: the last minut or so would be fine
[12:58] Andrew Linden: That is a viewer feature request. The viewer should be smart enought to not put the annoying alert.
[12:58] Kaluura Boa: Even when the av is in neighboring region... I receive a lot of notice from a club next to my sim... I really don't care about them...
[12:58] Leonel Iceghost: if ( name_changed not in friend_list ) return;
[12:58] Sahkolihaa Contepomi: Heh
[12:58] Sahkolihaa Contepomi: That's a nice feature.
[12:58] Flip Idlemind: Here's a picture of why I want restart notices on arrival (may have to zoom in)
[12:59] Sahkolihaa Contepomi: Seeing a full countdown would certainly be handy, I think.
[12:59] Simon Linden: ah, good point Andrew. The viewer has to get that info, so it can keep AV lists correct, but it doesn't have to annoy you about it
[13:00] Meeter: Thank you for coming to the Server User Group
[13:01] Vincent Nacon: any big news I missed out?
[13:01] Andrew Linden: Ok. I guess that's it for the hour. No last-minute topics.
[13:01] Andrew Linden: Vincent, I'll post the user group transcripts within the next hour.
[13:01] Kadah Coba: What about that thing with the stuff?
[13:01] Kaluura Boa: Just one yes-no question: Is llCastRay() arrivng soon?
[13:01] Kadah Coba: :P
[13:02] Vincent Nacon: not quick enough!
[13:02] Vincent Nacon: muhaha!
[13:02] Andrew Linden: Oh yeah, I completed that thing, but then that other something or other happened.
[13:02] Vincent Nacon: alrighty, thanks Andrew
[13:02] Kadah Coba: Oh darn
[13:02] TankMaster Finesmith: firestorm -mesh release today :D
[13:02] Vincent Nacon: OH really?
[13:02] Flip Idlemind: Oh reallo?
[13:02] Flip Idlemind: I meant to say Really, I misspoke. Continue.
[13:02] Imaze Rhiano: OO.....
[13:02] Vincent Nacon: that's a big news
[13:02] Leonel Iceghost: lol
[13:02] Andrew Linden: llCastRay()... arriving soon yes I think so. Check all the incomming RC candidates for llCastRay() being enabled.
[13:03] TankMaster Finesmith: tc andrew, simon, kelly
[13:03] Simon Linden: bye everyone
[13:03] Sahkolihaa Contepomi: See you Simon, Andrew, mercille and Kelly.
[13:03] Leonel Iceghost: have a good day all
[13:03] Rex Cronon: tc simon
[13:03] Rex Cronon: tc all those leaving
|Prev 2011.09.02||Next 2011.09.09|