Forum Link: Original Post

Town Hall with Cory Linden on 12/03/04
December 3rd, 2004
Topic: The Status of SL Technology
4:00 PM PST

You = Haney Linden

Cory Linden: ah hah, the new repeaters only broadcast Linden comments, apparently, so I (or Haney) will copy questions
Cory Linden: ok, my clock says 4pm, so I'm going to get started
Cory Linden: I have some premade answers to the forum questions, so why don't we start with those . . .
Cory Linden: also, thanks for your patience with the late cancel yesterday, but my daughter was doing an impersonation of Linda Blair and I was needed at home
Cory Linden: blech

Cory Linden: A. Havok 2?
Cory Linden: For 1.7, which will be Q2 '05. We're 80% done *but* won't be able to fully test it for 1.6.

Cory Linden: B. 2-way XML-RPC/better object to object communication?
Cory Linden: Yes, once we have per-user rate limiting in place. This is likely to take the form of a very small cost. Also in the 1.7 time frame.

Cory Linden: C. Linux client
Cory Linden: With 1.6 we should be 90-95% of the way there, so either during the 1.6.* release period or 1.7 we'll start testing that.

Cory Linden: D. Simulator performance
Cory Linden: OK, for the record, you were right and we were wrong :-)
Cory Linden: We ran a ton of stats numbers on sim performance today and it turns out that the 2.26's tend to run *much* slower than the others when there are 15 or more avs on them.
Cory Linden: Chromal's analysis in the forums was dead on.
Cory Linden: So, here's what we're going to do (but this will take a few weeks) is to allocate machines out of pools,
Cory Linden: with the slow machines going to void sims and frontier sims that haven't been bought yet.
Cory Linden: Also, estate owners will get the machines they paid for (or faster) rather than rotating onto the slow ones.
Cory Linden: However, as I said, this will take at least a couple of weeks, so *please* be nice to the grid monkey and liaisons in the meantime.
James Miller: and after that?
Cory Linden: After that, email James Miller if you have any problems.

Cory Linden: E. Public task lists
Cory Linden: We've been discussing how to publicize our task lists more completely, so expect more discussion and/or town halls specifically on this topic.
Cory Linden: We'd like to become more transparent about what we're working on.

Cory Linden: F. Road map
Cory Linden: deep breath
Cory Linden: 1.6 will enter preview in late-January. 1.6 is largely a bug-fix release with tremendous under-the-hood changes that *hopefully* won't be noticed.
Cory Linden: These changes were needed as we started work on our next generation renderer, improved internal messaging, switched over to VC.Net, and generally have been cleaning up some of our more hastilly written code.
Cory Linden: In terms of new features, the build UI has some great new information and tools, we'll support international keyboards and character sets, and nifty surprise or two for a belated Holiday gift.
Cory Linden: In addition, starting soon after 1.6, we'll start doing teaser releases about the new renderer, that will allow you to see what's coming.
Cory Linden: 1.7 will be 3 or so months after 1.6 and will have Havok 2 and our new UI code.
Cory Linden: The new UI will allow you far greater ability to customize and skin it, allow scripts to generate UI elements, and also improve in-world UI components.
Cory Linden: We will also have vastly improved in-world text support in 1.7. I also see 1.7 as a major update for in world games, with scripting and other feature additions specifically aimed at making game easier and more fun.
Cory Linden: You will also be getting additional looks at the new rendering.
Cory Linden: Sometime after 1.7 we will roll out the 2nd generation rendering and streaming systems.
Cory Linden: These will give you far higher framerates, better draw distances, improved lighting and appearance, and faster object downloads. I am very excited about the progress on this and look forward to sharing early shots and tests with you all next year.

Cory Linden: G. Review of LSL changes prior to deploys
Cory Linden: Through electroshock therapy and beatings, changes to LSL are now more carefully reviewed.

Cory Linden: H. Lag
Cory Linden: ducks behind haney
Cory Linden: So, besides the previous discussion of the slower parts of the grid . . .
Cory Linden: There are two primary causes of lag: viewer performance and simulator performance.
Cory Linden: Viewer performance is related to your CPU, RAM and GPU, your viewer settings, how much stuff (especially avatars with lots of attachments) is in view, your bandwidth settings, and packet loss.
Cory Linden: Simulator performance is linked to Havok performance, number of avatars, number of scripts, and packet loss to specific viewers.
Cory Linden: Attachments have ended up eating up more viewer performance (and, when they have scripts, simulator performance) than we expected. We have already fixed some of the problems and will continue to hammer down high nails.
Cory Linden: Certain viewer settings, in particular local lighting and shadows, can really slow your viewer down.
Cory Linden: 30 - 40 dancing avatars puts a lot of load on all parts of the system, especially when they have lots of attachments and scripts. Our next generation engine will greatly improve these problems, but that won't be until next year.

Cory Linden: I. Has Bandwidth gone down?
Cory Linden: No
Cory Linden: Looking at the statistics, SL seems to be sending exactly as much data now as it was several months ago. If you are regularly seeing incomplete data, file a bug with screen shots. The second major goal for our rendering engine rewrite is to eliminate t
Cory Linden: to eliminate this problem and so far our internal tests have been extremely promising.

Cory Linden: J. Our favorite technology partner: ATI
Cory Linden: We're actually hiring some folks to help ensure that ATI gets a complete bug report every week.
Cory Linden: As those of you who've been around for a while know, it has always been that right about when ATI has fixed all of their SL related issues that they release a new driver which borks us.
Cory Linden: If you have bugs, please first make sure that you have the most up-to-date drivers and then send in those bug reports.
Cory Linden: It looks like the new PCIe cards in particular have "issues" and I'll let you know more as I do

Cory Linden: K. Catchall of some various questions -

Cory Linden: alt-1 "run tasks" and "run agents" are the times (including script execution but not including physics) that the simulator spends processing tasks and agents.

Cory Linden: Oh, and while we're on the alt-1 stats: any simulator frame rate above 100 or so means that you are fine. Leaving aside the specifics of the "headroom" debate, your experience on a sim should be good above 100. We're also going to be adding more tools
Cory Linden: so that you can find lag causing scripts on your sims and land.

Cory Linden: alt-2 "idle network" is time spend pulling packets off of the wire but not processing them. This bar will also spike if some other process is eating up CPU time as that will cause packets to build up.

Cory Linden: We limit prim size to 10m per side to simplify some of our culling and edge crossing issues. This may change someday.

Cory Linden: L. How the !!(*#@ does dwell work?
Cory Linden: another deep breath
Cory Linden: OK, here we go: Every user gets 1 point of dwell to give out during the 24 hours between midnight and midnight. Any parcel of land that the user spends more than 5 sequential minutes on gets counted as a place that they spent time.
Cory Linden: Parcels owned by the resident (or group) are counted as if they were the same parcel. The user's 1 point is then evenly divided between those parcels
Cory Linden: So, if was online for 1 hour and spent 20 minutes on resident A's parcel and 40 minutes on resident B's parcel, resident A would get 0.333 from me and resident B would get 0.666 from me.
Cory Linden: Alternately, if I only spent 5 minutes online and spent all of it on resident A's land, she would receive 1 point from me. Those raw point totals are what is reported in the find window.
Cory Linden: To get from those to L$, we normalize the total against the total amount of L$ we are giving away that day and give out the money proportionately.
Cory Linden: If the owner is an individual, they just get the L$. If it is a group, then the L$ are split between the group members.
Cory Linden: There, clear as mud, right?

Cory Linden: M. New permissions
Cory Linden: New permissions will be in the 1.7 timeframe as we haven't yet finalized the design (and there would seem to still be some debate on the topic) ;-)

Cory Linden: O. Lag tools We are moving some of our tools into the debug menu so that estate and land owners will be able to gather more information about what scripts are causing problems.

Cory Linden: P. LSL improvements
Cory Linden: LSL improvements will probably be limited to bug fixes, UI functionality and improvements for content creators until we start working on a major set of improvements to it.
Cory Linden: The long term goal is to greatly improve the underlying execution model so that LSL runs much faster, you get access to more language functionality, and (ultimately) to allow other scripting languages to be used.
Cory Linden: This process is in the very early design stages right now and won't be done until mid- to late-2005.

Cory Linden: OK, I think that's the fastest set of answers in town hall history (and there will be a quiz at the end of the class), so let's open this up to Haney (and remember, a copy of this will be in the forums in case anything zipped by)

You: Tiger Crossing: (Saved Fri Dec 03 14:48:35 2004) Q: Has there been some network issues at Linden Lab the last few days. I've been hearing many reports of drifting through walls, sporadic updates, lost emails, and other oddities.

Cory Linden: Tiger: no, things have been pretty good here, actually. If you experience unusual levels of badness, please file bug reports. We've been adding QA folks, so we're getting better at tracking down your reports.

Cory Linden: Oh, and to emphasize this, if you have ATI problems, that's high on my priority queue right now, so please enter bugs and screen shots. Also . . .

Cory Linden: this is offtopic, but we have two new operations job openings, sys admin and web developer, both detailed on the web site. Come one, come all!

Cory Linden: ok, back to questions . . .
You: Hank Ramos: Question: Will memory limits placed upon scripts be increased anytime soon?
Cory Linden: Hank: um . . . er . . . well . . .
Cory Linden: no
Cory Linden: . . . well, maybe
Cory Linden: it's more likely that the dev effort will be in improving the scripting system overall, which will ultimately enable that, but it may take a while

You: James Miller: What is being done to fix the bug where objects that are set for Original Sale (instead of the normal Copy Sale) do not have their auto-return timers reset when purchased?
Cory Linden: James: ack! Make sure a bug is in and we'll hit that. Should be able to fix.

You: Zalandria Zaius: Question: Any hope we could get lag ratings on scripts? So we can tell how many lag inducing items we have out?
Cory Linden: Zalandria: we're adding tools for land and estate owners to find slow/expensive scripts on parcels and estates
Cory Linden: so, yes

You: Rune Pennyfeather: When will the Mac OS X software be out of beta and be more stable ?
Cory Linden: Rune: OS X is out of beta. As for stability, much like with ATI we are occasionally be fighting with their changes.
Cory Linden: We are working hard to test their seed builds and have been quite managed to have several *really* broken things fixed prior to release.

You: Shadow Weaver: # with the new Rendering will we be getting new Clothing Templates and meshes?
Cory Linden: Shadow: yes, but not for a while
Cory Linden: wait . . . let me expand on that
Cory Linden: current clothing will still work, of course, but we'll be adding more controls and probably some additional pieces like the skirt was added

You: Lordfly Digeridoo: what, exactly, finally, and for all, will Havok 2.0 or whatever do for SL? Some sort of itemized list would be helpful
Cory Linden: Lordfly: out of the box, Havok 2 will fix all crashes, lag, performance and display problems, as well as making everyone of us more intelligent and good looking. And above average.
Cory Linden: well, maybe not all of those things.
Cory Linden: Havok 2 will be faster out of the box, it will also not suffer from deep think, meaning that complex object collisions will be much more stable and faster
Cory Linden: going forward, Havok 2 enables us to explore more complicated primitives, physical interaction with avatars and lots of exciting things, but in the short term it means faster simulators.
Cory Linden: Which is a good thing.

You: Cristiano Midnight: I would like to ask about planned technical improvements for animations in SL - will we get correct poser models and more advanced bone support?
Cory Linden: Cristiano: what do you mean by "correct poser models"?
Cory Linden: I know that Stephen is working to give out a better poser model real soon now. Going forward on animation, we want to first allow morph based animations (such as hand poses and expressions) to be included in the animation. Longer term is still open.
Cory Linden: Ah, Cristiano meant reference poser models and yes, Stephen is working on releasing those

You: Huns Valen: I've heard that the viewer will be multithreaded in the future. Wondering when that will be.
Cory Linden: Huns: the 1.6 viewer will be mutlithreaded, but not be using very much multithreading mojo. As I said, 1.6 is in many ways a clean-up pass for us, and gets a lot of code ready for the next generation of features and fixes.
Cory Linden: Well, technically, the current viewer is multithreaded, actually, since the VFS is on its own thread, but 1.6 will be a much better implementation and the network subsystem will also (probably) have moved onto a thread. This does not mean that the UI...
Cory Linden: will be asynchronous from rendering, though, if that is what you were asking.

You: Trimming Hedges: From an end-user perspective, the BAD problems are almost always linked to the databases. I applaud the focus on bugs, but I'm worried that not enough attention is going to the DBs.It feels like LL doesn't realize it's primarily a database company.
Cory Linden: Trimming: No, we've actually been vey focused on the database from the beginning. I guess that we generally don't talk about DB issues since the changes rarely have end-user visible effects. Much . . .
Cory Linden: of our current work is speeding up both the database (both from a query and a hardware standpoint), ditto for the asset server.
Cory Linden: As I think we talked about a while ago, we got a little behind the curve where our focus on being budget conscious ended up hurting us, so we're moving up to swankier equipment.

You: YadNi Monde: Hi , WHEN will Europeans get AT LAST the MAPPING correct of the Keyboards Please, and when will the QWERTY SWAP BUG STOP ? Thanks in Advance =D
Cory Linden: Yadni: 1.6. We're going to support international kb's correctly with that release. One of the key features, in our opinion.

You: cruiser Gilman: Any more work on speech?
Cory Linden: cruiser: just experiments. The PARC folks were actually intrigued with some of the ideas, but it currently has much lower priority than bug and stability fixes, plus rendering/frame rate improvements.

You: Dan Medici: Q: Will any improvements ever be made to reduce sim-border lag?
Cory Linden: Dan: Yes. That is primarily a database and datastructure issue and both are being attacked. The biggest problems are avs with lots of attachments and we just have to do some ugly rearchitecting there.

You: Madame Maracas: I ask out of a desperate desire for a certain light at the end of the tunnel, will the UI improvements specifically address the less than rudimentary Inventory system? We need help, I'm sure we all have unneeded dupes that we can't find/remove/etc.!
Cory Linden: Madame: 1.6 will have inventory search, which should help a lot, plus some other inventory niftiness that improves it.

You: Postmark Jensen: Any consideration of including an offline sim with distribution -- allow people to clutter up their computer instead of the sims while working on projects?
Cory Linden: Postmark: Not yet.

You: Millie Thompson: Question: Will there ever be a script library so members can get a basic script for their projects available in the Library?
Cory Linden: Millie: Well, I know that the forums as well as SL university have a lot of scripts, plus there are other folks give scripts away.
Cory Linden: However, adding more of them to the Library is a good idea.

You: Matt Opel: Will there ever be an in-game painting function?
Cory Linden: Matt: do you mean "painting textures a la photoshop" or "paint on primitives a la a whiteboard"? I'd say that the latter is more likely than the former.

You: Gwyneth Llewelyn: Would LL support something like the "vote for preferred features" like Azelda Garcia proposed on this site:
Cory Linden: Gwyneth: I think that site is fantastic and it is part of the discussion of how to be more transparent and responsive about development.

You: Hank Ramos: Q: Any planned support for multiple monitors? Moving windows out of the normal viewer?
Cory Linden: Hank: no, but that is a great question. Actually, some of our clean up changes actually would make that easier . . . hmmm, must ponder. . .

You: Jade Lily: Is there anything coming in the way of improved text display or a browser prim? J web browsing capabilities, that is
Cory Linden: Jade: We are looking at improved text display for 1.7. And, yes, web browsing is part of that discussion.

You: Donnie Donovan: Would LL ever consider releasing in-world search statistics... such as the google zietgiest or overture keywords. To help merchants know what the community is looking for?
Cory Linden: Donnie: That's a really interesting idea. I think that in general (as Philip talked about at the economics town hall) that we'll try to be as open and transparent as possible.

You: Dan Medici: Q: Any chance that LSL will have future capabilities for objects to take some sort of screenshot or snapshot?
Cory Linden: Dan: Yes, although that is distant future. However, it is an important technology that we want.

You: James Miller: Will there ever be a way to search the text in a script?
Cory Linden: James: Probably, but it isn't on the list yet. Once we unfubar the UI (again, that's for 1.7) I think that adding that will be much easier.

You: Millie Thompson: Question: Would it be possible to make NPC avatars to use for things like bars, guides, and to clone yourself to make attachments?
Cory Linden: Millie: Big open topic of debate. Someone should start a forum thread about this. Plus side of no NPCs is that everyone you talk to is a human. Downside is no NPCs (of course, you could run an av via your PC . . .)
Cory Linden: so, no plans yet, but often discussed

You: blaze Spinnaker: How about an API into the client so we can add all the features people are clamoring for?
Cory Linden: blaze: Yeah, I know. Part of our cleanup pass is to enable the possibility of opening up the viewer and/or making it easier for other developers to work on it. That's a ways away, but much closer after 1.6 than before.

You: Apotheus Silverman: The new client or render engine is going to be done in .NET, which is *horribly* memory-inefficient. Is anything being done about the memory usage or are we all going to have to upgrade to 1gb+ of ram?
Cory Linden: Aptheus: .NET builds fine code, plus we use SmartHeap for release builds which is a much better manager than the default Windoze one. Plus, most people think that .NET is memory inefficient because .NET itself is!
Cory Linden: That doesn't mean the generated code is. So far we haven't seen much difference in the code output, other than a bit of a speedup.
Cory Linden: (by .NET, I mean the visual studio IDE for .NET which is a pig)

You: Karizon Hatfield: any chance we could get support for maybe embedding OLE editors into SL instead of using the built-in? those of us who like to write code in-world would benefit greatly from that.
Cory Linden: Karizon: ditto my answer to blaze

You: Tiger Crossing: Q: Any plans to add non-physical movement control or better camera controls. I'm thinking Machinama here, as well as more interactive in-world displays that involve motion and camera control. (And lock the camera while building.)
Cory Linden: Tiger: yes, several of our folks have been agitating and thinking about this. Definitely going into the plans and design for the new rendering engine.

You: Hank Ramos: Q: Any future support to convert a sim name to world region coordinates?
Cory Linden: Hank: in the scripting language?
Hank Ramos: yes
Cory Linden: um . . . hadn't thought about it, but shouldn't be too difficult . . .
Cory Linden: stick a bug in about it

You: Nikolai Weber: Will you consider removing or changing some of the arbitrary limits on object size, altitude, etc.? Specifically the 4000m ceiling on physical objects
Cory Linden: Nikolai: and take away the mystique of flying that high? :-) The height limit will probably be less of a problem for the new rendered, but would bork parts of the current system.

You: Gabriel Spinnaker: Do any of the planned LSL improvements include making the compiler optimizing, or adding a regular array datatype, or constructs that exist in most other languages like switch statements?
Cory Linden: Gabriel: not in the immediate future (although my standing offer of the lex and yacc files for anyone who can prove to me that they can write an optimizing compiler still stands) but as I said . . .
Cory Linden: major improvements to the scripting system overall are in the works

You: Dan Medici: Q: Will the Havok 2 implementation increase the allotted prims for a physical object?
Cory Linden: Dan: if the performance improvement is enough to warrant it, then yes
Hamlet Linden is offline

You: Zalandria Zaius: Any error handling in the near future? Zalandria Zaius: are those jobs virtual or do we have to live in San Fran?
Cory Linden: Zalandria: jobs are in SF
Cory Linden: error handling in LSL? no, not in the near term

Cory Linden: this is so going to be a record for most text in a town hall

You: Chandra Page: Are there any plans to add an array data type to LSL?
Cory Linden: Nope, not any time soon
Cory Linden: see answer to previous LSL question, too

You: Apotheus Silverman: What are these rumors about UI customization that are flying around? ;-)
Apotheus Silverman: that was the same as the API question. you can ignore :-)
Cory Linden: Apotheus: well, I don't know what the rumors are, but the new UI is definitely being geared to allow skinning.

You: Kage Seraph: Which has the higher SL airspeed velocity: a script-push african swallow or a prim-based avatar European swallow?
Cory Linden: Kage: what kind of prim?
Cory Linden: depends on how high you are as well
Cory Linden: 5 minutes left . . . come on, I can get through 10 more questions :-)!

You: Barbarra Blair: I'd like to know whether there are plans to allow scripts to write to notecards
Cory Linden: Barbarra: ack . . . stupid me for inviting more questions . . .
Cory Linden: sigh
Cory Linden: not in the near term, although we may allow you to create note cards. Ask again after we've fixed notecards for 1.6 to handle UTF8.
Hank Ramos: Unicode
Cory Linden: multibyte encoding scheme

You: Charles Fauna: Will we be seeing an llDetectedMass(integer tnum) anytime soon?
Cory Linden: Charles: hmmm . . . not on the list, although that's a great reason for either external "what do we want" boards and more transparency.

You: Punklord Drago: question: When is llTakeCamera and llReleaseCamera going to be implemented?
Cory Linden: Punklord: probably not for a while, those went in when I thought that I could get a broken, hacky version working on a weekend and then never got taken out. Definitely will be worked on with the rendered though (see machinimia question)

You: Adam Zaius: Q: llTeleport()?
Cory Linden: Adam: when we decide that we need to "fix" the sit teleport "bug" we'll provide some appropriate substitute.

You: Mex Thorn: hey is 1.6 gonna have a message that says someone is typing in IM's?
Cory Linden: Mex: oh, you mean like AFK? Probably not unless there is a big demand for it. Don't most people carry on multiple conversations?

You: Nikolai Weber: Q: Would we be able to get the ability to upload scripts via the upload/bulk upload menus?
Cory Linden: Nikolai: Hmmm, that's an intriguing idea. Hadn't ever thought of it, to be honest. Wouldn't be too hard, though . . .

Cory Linden: ok, folks, thank you very much for taking the time to hit me with so many questions