Jump to content

animats

Resident
  • Posts

    6,147
  • Joined

  • Last visited

Posts posted by animats

  1. I built my own copy of the Firestorm viewer from source, and I've been modifying what it does at region crossings. As mentioned above, the existing behavior when the viewer isn't hearing from the server is to extrapolate position based on the previous velocity and acceleration. This is not a good guess at a region boundary.

    So the first thing I tried is clipping that extrapolation hard at region boundaries. With this, when an object reaches a region boundary, it stops dead until the simulator for the next region picks it up and takes control. This eliminates much sinking into the ground or zooming off into space, then snapping back. It's a big improvement for fast motion. But walking normally across a sim boundary results in a momentary freeze which wasn't there before.

    So the clipping needs to be smarter. Maybe allow 2-3m of extrapolated motion beyond the sim boundary in X and Y, and 0.25m in Z.  If the new sim picks up in under a second on a slow sim crossing, that should look as before. Faster crossings will visibly stall until the new sim picks up, but that's much better than the viewer making awful guesses.

    When I have a good fix, I'll submit a pull request for Firestorm, so it can become a standard feature.

    • Like 2
  2. 5 minutes ago, Rhonda Huntress said:

    Can you tell if I am a premium or basic account?  Can you see if I own land?  Why would you expect another resident to be able to do that?

     

    I can see your profile - 9 years, and payment info on file. Nothing that indicates land ownership, although it's your choice to reveal that or not.

    See the note above from the "Adviser": "EDIT: Well I just went and looked up your account and it is completely empty. It looks like a "greifer" (sic) account (not saying that it is) and no payment info on file.  So I can see why you might be having an issue with support." Now look up my profile. Groups, a few picks, and a picture under "First Life". And yes, that is me on the big white horse.

  3. 19 minutes ago, Chic Aeon said:

    Well as a test I just logged a very old dusty alt who had NEVER  been to the beta grid onto the beta grid.

    Aside from the fact she was a cloud, she was there and could upload.  So something else must be going on. Perhaps your account is too new? I didn't look to see how long you have been here.

    Anyway the beta grid is not broken and folks that haven't been there before CAN login.

    Just for the record :D.  

     

    PS. It IS possible that you might need payment info on file.  So if you don't have that, it could be the reason. 

     

    EDIT: Well I just went and looked up your account and it is completely empty. It looks like a "greifer" account (not saying that it is) and no payment info on file.  So I can see why you might be having an issue with support.

    Good luck working that out. 

    Old accounts prior to 2016 can log into Aditi, according to "http://wiki.secondlife.com/wiki/Preview_Grid#How_do_I_log_in_to_Aditi.3F": where a note says "WARNING: June 2016, 2017 - If you are a new user and have never logged into ADITI, you will need to contact Support to gain access. This is supposed to be a temporary bug in Aditi login." Even Support admits that's still broken.

    I have a paid premium account and own land.  Apparently, this person wasn't able to look that up properly.

    This person is an "Adviser?"

    • Like 1
  4. The login for Aditi is so broken. You try to log in. It doesn't work. Then it turns out there are support pages which say it doesn't work automatically any more, and you have to ask support. Asking support gets a reply in a few days. Then the password email doesn't show up. Then support wants you to change your SL password and send them another message. LL really doesn't want people using Aditi.

  5. There's a long road, Circuit le Corse, across many sims. That road has frequent rez areas, so you can bring in vehicles easily. Here's a typical rez zone: http://maps.secondlife.com/secondlife/Timescape/160/67/66

    At least two  speed cameras are on that road. I  just got

    YD Speed Camera: 
    USA Motorcycle v0.10b, 
    Owned by  animats Resident
    55.393681 KpH
    Fine L$25

    It didn't deduct from my balance, though.

    I've written a motorcycle script that can handle region boundaries without much trouble, so I can go cruising along, passing a region boundary every five seconds.  It's a good ride.

    circuitlacorse_001.jpg

    • Like 4
  6. The delays are definitely server-side. I can teleport to a new sim, or fly over terrain, and wait tens of seconds for the geometry and textures to come in. I'm seeing CPU utilization of about 20% on my machine, network utilization around 10% (of 30Mb/s), low disk traffic, and no shortage of free RAM. Plenty of local resources. The delays are coming from the server side.

    Are the servers still in 32-bit mode? By now, they should be 64-bit machines with lots of RAM.

  7. I'm continuing to work on making vehicles cross region boundaries better, with some success.

    I bought a motorcycle with full perms, and started working on its script. The first step was to log speed at sim crossings and do some driving. Not much goes wrong below 5m/sec.  The second was to calculate the distance and time to the next sim crossing, based on current position and velocity, and hit the brakes before getting there. This gets through most sim crossings. It causes a slowdown when approaching the annoying region boundary in the middle of Kama City streets, but only when you're on course to hit the boundary. Straighten out and the brakes release. I've been having fun zooming around Kama City for the last hour or so. I can get up to about 50m/sec (112 mph) on Kama City streets without region crossing problems. The bike slows automatically for each region crossing.This is about as fast as I can drive on roads with arrow keys. If only scripts could read the joystick. I'm enjoying touring Zindra island. I start out out at my own property in Valllone and drive.

    There's a problem with sim crossings on roads on hills. There is sometimes open space between the road and the ground. It's possible to get into a situation where the bike is below the road, in open space, and the avatar is above the road. This creates huge forces in the physics engine, which is trying to pull bike and avatar together with an object between them. This is one of the problems that causes the avatar and vehicle to fly apart. The vehicle script is still running in that situation, and it may be possible to detect the problem and make it recover from this by turning phantom to release the physics stress, moving to a safe height, and turning phantom off. More on that later.

    It's quite possible to improve the vehicle experience in Second Life. This makes vehicles far more useful and fun.

    • Like 2
  8. Some questions about viewer internals:

    1. The host (sim) side has a physics engine, and the viewer side also has a physics engine. The sim side treats avatars as a capsule. The viewer side apparently treats avatars as a mesh object. Or at least that's what you see if you turn on Developer->Render metadata->Collision skeleton. What is that collision skeleton used for? Clothing? As far as I can tell, the only thing the viewer-side physics engine does is breast jiggle. It also apparently helps with uploading collision meshes for objects. Does that mean it's calculating the convex hulls?
    2. What does Firestorm use for a physics engine, if anything? I came across a reference to Bullet, but don't know if that's actually in.
    3. Is there anywhere this is discussed by people who actually know how it works? I've read through what passes for internal documentation for the viewer, but it doesn't mention physics at all.
  9. If some new religion wants a temple in SL, there's a large Indian-look temple complex available. It's in Kama City at Vallone (232, 108, 35), and for sale or rent from, inevitably, LIFE Properties. They're asking L$2100/week, but it's been vacant for a long time and that price might come down. The sale price already dropped. Six buildings, plus some elephants, minarets, and trees.

    (I own property nearby, but have no connection with this parcel.)

     

     

    templeforsale_001.jpg

    • Like 1
  10. In Alchemy, I get the message "Could not connect to the voice server" at startup about one time in three. I only have 6mb/s bandwidth. I suspect that the problem is network overload. When you start a viewer, there's an enormous network load as it starts up and loads all that content. After startup, load goes down.This network overload may interfere with the initial connection to the voice server.

    The voice server connection code should probably do a few retries before giving up. It gives up within seconds of login, which is too soon. If this is intermittent, that's probably the problem. The developers may not be testing this on low-bandwidth connections.

  11. 10 hours ago, Alwin Alcott said:

    go ahead and surprise us with your 3rd party viewer, the code is open source.

    I really didn't want to get into the internals of the viewer. But here's the viewer-side problem. Look in

    https://bitbucket.org/lindenlab/viewer-neko/src/36e2757983861221749f2e24348eea68cb4ed258/indra/newview/llviewerobject.cpp?fileviewer=file-view-default

    around line 2505. There's the predictor which extrapolates moving object positions during lag:

    		// Calculate predicted position and velocity
    		LLVector3 new_pos = (vel + (0.5f * (dt-PHYSICS_TIMESTEP)) * accel) * dt;	
    		LLVector3 new_v = accel * dt;

    The code above is guessing, in the absence of update messages, where the object now is. Mostly that works. But when you cross a region boundary, there's often a small change in position, and probably in velocity and acceleration, followed by about a second of no updates. That code amplifies any small change followed by lag into a huge change. There's no bounding, other than some code which prevents huge out of range values, and no low-pass filtering. There's code that stops motion after no updates for a while, but that takes seconds to kick in, because the sim doesn't send frequent updates to the viewer during normal motion if the normal motion isn't changing speed and direction. The viewer assumes that no update means keep going in the same direction at the same velocity, with acceleration applied.

    This is purely visual; you'll see it in the viewer, and when the next update comes in, the position will come back to where the sim thinks it is. With velocity interpolation off in the viewer, that doesn't happen, but movement becomes jerky. Try turning off velocity interpolation in the viewer, which lets you see just the positions the simulator send sends you. Walk your avatar in a straight line. You''ll move in big jerks, several seconds apart. That's the don't send an update optimization in action. Now try walking while turning. This forces the simulator to send frequent updates, and the viewer will now update rapidly.

    There are real glitches and stalls at region-crossing simulator handoffs, but they're usually not that big. I've been testing with velocity interpolation off. This viewer artifact makes them look much worse. Then the user makes bogus steering corrections in response to the bad imagery, and screws up the real position.

    What's needed is something like a Kalman filter to maintain a smoothed velocity in the viewer, to be used for interpolation. Maybe clamp velocity to a low value during region crossings.

    • Like 2
  12. 5 hours ago, Klytyna said:

    Sim crossings generally are "bad" as SL is really really bad at handling them, this is a SERVER side problem inherent in the sim to sim transfer process...

    I realize that. But try turning off "Velocity Interpolate Objects"  and watch what happens.

    I've been testing in a large multi-sim sandbox island with little or no construction or activity, to see a clean situation. After waiting for everything in the sim to reach the viewer, network traffic finally drops off and there's little lag. With Velocity Interpolate Objects off, walk the avatar, holding down the up arrow key. The avatar will be stationary for 10-15 seconds at a time. That's because the server doesn't send frequent updates to the client when the avatar is moving in a straight line. Let go of the up arrow key, or turn, and the avatar is updated immediately. Usually, you don't see this effect, because the movement "interpolator" (really an extrapolator) hides it. This makes avatar movement look much better.

    Now try a fast vehicle across the sim boundary. Usually, there's about a 1-second pause and a rise of about 1 meter maximum.  That's good; that means the server side is doing an OK job. (Sometimes the sim does come unglued, and you get messages such as "llStartAnimation: Script trying to trigger animations but agent not found". This is a known problem since 2013. There is a known workaround for vehicle scripts.  That's all server-side.

    But flying through the air after crossing a server boundary and then coming back to normal is a client-side problem in velocity interpolation. That could be fixed in viewers. Since there are non-Linden viewers, it can be fixed without help from Linden Labs.

     

  13.  I've been looking at why vehicle behavior when crossing sim boundaries is so bad.

    One problem is viewer-side. The effect where vehicles go flying off into space at a sim crossing and then come back is a viewer-side problem. Whatever extrapolation algorithm "Velocity Interpolate Objects" uses is flawed, at least in Alchemy. Try driving a vehicle at moderate speed over a sim boundary on a connection with some lag. You'll probably fly off into space and then come back. Now turn off off "Velocity Interpolate Objects" in the Develop menu, and repeat. Now you stall for about a second when crossing a sim boundary. That shows what's really happening back at the servers.

    Is this a problem in the SL browser, too?  (I'm on 64-bit Linux, so I can't run the SL browser easily.) Please check, so a bug report can be submitted.

    The extrapolation algorithm needs to be fixed. It needs clamping, or a low-pass filter, or it may even be differencing two positions from different sims and getting some huge velocity. Or it may be a straightforward math bug. Extrapolation from derivatives is always touchy. But those huge bogus velocities  that rubber-band back to normal are a viewer-side problem. Sim-side screwups don't return to proper positions. See, for example, [1].

    This is the kind of bug that doesn't show for devs working on high speed connections with low lag to the servers.
    (There are other server-side problems at sim crossings, most reported about ten years ago and not fixed.  But this one is viewer-side and probably not hard to fix.

    [1] https://jira.secondlife.com/browse/SVC-22

  14. "Kama City is one of the 3 largest urban structures of the grid.  ... capital city of Zindra ... From all urban places, Kama City is the most populated of all." - Second Life wiki.

    Kama City looks quite impressive at first. Roads, traffic signal, monorail tracks. But very few avatars. It's such an empty place. Where there are people, they're often in a skybox. Or they're dummy accounts running dancers or sales reps in empty nightclubs or stores.

    The real estate situation is dysfunctional. Most of the buildings are empty dummies owned by Love Life or some other big realty agency trying to sell them. Nobody even rents them. Four abandoned parcels recently went up for sale. I bought one, a friend bought one, and the other two were bought by real estate flippers who immediately put up For Sale signs at twice the price. Next door is a large temple in a combination of Indian and Moorish styles. It's empty and for sale. Real estate is far overpriced for the demand. This makes no sense.

    Maybe Linden Labs should adjust the tier rates to make land-hogging unprofitable. Don't offer discounts on tier for owning large amounts of property unless the properties are contiguous parcels. That would eliminate the advantage real estate brokers have, while allowing large projects to get a discount.

    Anyway, I set up a small outdoor cafe in Vallone. It's a technology demo - you can knock all the furniture around, and when everyone leaves, it will all return to normal. Or you can just sit at a table and enjoy the fountain. Few people will ever walk by, but it looks nice.

     

    • Haha 1
  15. Fixed the problem by talking to the neighbors. Object entry ON, scripts OFF was just a bogus setting that they were given after a land auction. That setting breaks other things. If there are wandering birds or cats around, they'll die when they cross a property with those settings. So don't set your property that way.

    To see this working, visit my little cafe at Vallone/240/21/36. Sit in one of the chairs and enjoy the fountain. Then wreck the place. All the furniture, plants, and bottles can be knocked around. When you leave, everything goes back as before. Use weapons if you like. Let me know of any problems. Thanks.

    cafe_001_001.jpg

  16. OK, the normal cases work fine. I've been able to deal with region crossings. (Turn PHANTOM and PHYSICS on, apply a velocity towards home until in the right region. Then use llSetPos.)

    But I've found a case that doesn't work. There are some problems if the object goes into another parcel with certain settings.

    A parcel with total keep-out for other objects is fine. The object hits the permissions wall, doesn't enter the parcel, and the script brings it home. But if the permissions are set to Object entry for Everyone ON, Run scripts for Everyone OFF, the object can get in, and then its come-home script dies. This leaves the object stuck, perhaps in mid-air, in phantom mode.The property owner or the object owner can return or delete it, but otherwise it's stuck there.

    Other than that, it's looking good.

    stuckinmidair.png

  17. On 11/14/2017 at 10:01 AM, Khaynisha Reifsnider said:

    I'd like to upload & test AOs, but I don't want to spend 10 L$ every time, and, blame on me, I am not able to understand where/how upload animations and poses for test...

    Get an account on the beta servers. No upload charges.

    • Like 1
  18. There are areas which look full, but almost everything is for sale or lease. Real estate operators fill up land with large unused buildings, creating the illusion that there's something there. But there isn't. Look at the world map, with all those sims with 0 to 2 avatars in them.

×
×
  • Create New...