Animesh vs opensim NPCs

General discussions related to content creation
User avatar
Tess Juel
Posts: 23
Joined: Sun Sep 11, 2016 4:24 pm
Has thanked: 13 times
Been thanked: 12 times

Animesh vs opensim NPCs

Post by Tess Juel »

I've noticed some people have started to use animesh instead of NPCs and I was wondering, has anybody tried to comprare their performance?

I invited one of SL's foremost animesh experts over to opensim to see some of the more advanced NPC applications here and he was very clear that there was no way that could be done with animesh in SL because it would be way too heavy for the servers to run. We never did any formal tests though and the animesh code for opensim wouldn't be the ame as that for SL anyway. So I'm really curious.
These users thanked the author Tess Juel for the post (total 2):
Ilan TochnerSelby Evans
Kim McCabe
Posts: 10
Joined: Fri Mar 20, 2020 5:34 am
Has thanked: 5 times
Been thanked: 11 times

Re: Animesh vs opensim NPCs

Post by Kim McCabe »

Tess Juel wrote:
Thu Mar 19, 2020 11:51 pm
I've noticed some people have started to use animesh instead of NPCs and I was wondering, has anybody tried to comprare their performance?

I invited one of SL's foremost animesh experts over to opensim to see some of the more advanced NPC applications here and he was very clear that there was no way that could be done with animesh in SL because it would be way too heavy for the servers to run. We never did any formal tests though and the animesh code for opensim wouldn't be the ame as that for SL anyway. So I'm really curious.
Following.
Graham Mills
Posts: 1034
Joined: Sun Dec 23, 2012 2:26 pm
Has thanked: 648 times
Been thanked: 783 times

Re: Animesh vs opensim NPCs

Post by Graham Mills »

I've no idea what would constitute a useful test or metric though I have played around a little with npc crowds albeit on Premium regions so may not apply generally.

This was an attempt to get an idea of capacity at a music hall. Pretty laggy at around 150 seated npcs.

Image

This is 171 phantom animesh running the simple navigation script (including sensor) I posted previously, ie moving around using keyframed animation. I copy rezzed them so numbers determined using area search -- feel free to count them but I suspect there's a fair bit of overlap! Again somewhat laggy but my avatar could move around, frame rate with top graphics setting about 6.

Image

Quite impressed by this and, given current circumstances, tempted to implement some kind of infection model if only out of curiosity.

Script: viewtopic.php?f=26&t=5398&p=27128#p27128

Tess Juel wrote:
Thu Mar 19, 2020 11:51 pm
I've noticed some people have started to use animesh instead of NPCs and I was wondering, has anybody tried to comprare their performance?

I invited one of SL's foremost animesh experts over to opensim to see some of the more advanced NPC applications here and he was very clear that there was no way that could be done with animesh in SL because it would be way too heavy for the servers to run. We never did any formal tests though and the animesh code for opensim wouldn't be the ame as that for SL anyway. So I'm really curious.
These users thanked the author Graham Mills for the post:
Tess Juel
User avatar
Ilan Tochner
Posts: 5218
Joined: Sun Dec 23, 2012 8:44 am
Has thanked: 2982 times
Been thanked: 3036 times
Contact:

Re: Animesh vs opensim NPCs

Post by Ilan Tochner »

Hi Graham,

I recommend not using viewer FPS as a way to measure the actual server load that each of your scenarios created. Instead use the graphs on the world's world page when that world is active. They'll enable you to track the actual CPU and network load under each of the scenarios you run. Note you'll only be able to see these graphs when you're viewing a world page of a world that is owned by your own Kitely account.
These users thanked the author Ilan Tochner for the post (total 3):
Tess JuelGraham MillsChris Namaste
Graham Mills
Posts: 1034
Joined: Sun Dec 23, 2012 2:26 pm
Has thanked: 648 times
Been thanked: 783 times

Re: Animesh vs opensim NPCs

Post by Graham Mills »

Useful. Thanks.
Ilan Tochner wrote:
Fri Mar 20, 2020 10:55 am
Hi Graham,

I recommend not using viewer FPS as a way to measure the actual server load that each of your scenarios created. Instead use the graphs on the world's world page when that world is active. They'll enable you to track the actual CPU and network load under each of the scenarios you run. Note you'll only be able to see these graphs when you're viewing a world page of a world that is owned by your own Kitely account.
Graham Mills
Posts: 1034
Joined: Sun Dec 23, 2012 2:26 pm
Has thanked: 648 times
Been thanked: 783 times

Re: Animesh vs opensim NPCs

Post by Graham Mills »

One possible issue is that I couldn't get animesh to play an animation when rezzed using llRezObject. Maybe just me but currently that means having to populate the region manually.

I should add that this issue isn't any kind of priority for me; no response required.
Graham Mills
Posts: 1034
Joined: Sun Dec 23, 2012 2:26 pm
Has thanked: 648 times
Been thanked: 783 times

Re: Animesh vs opensim NPCs

Post by Graham Mills »

Now running 350 animesh avatars. A few glitches in the animation and the occasional lost avatar but pretty responsive.

Image
These users thanked the author Graham Mills for the post (total 2):
Tess JuelSelby Evans
User avatar
Ilan Tochner
Posts: 5218
Joined: Sun Dec 23, 2012 8:44 am
Has thanked: 2982 times
Been thanked: 3036 times
Contact:

Re: Animesh vs opensim NPCs

Post by Ilan Tochner »

Hi Graham,

Can you please post the CPU and network graphs from the Active World panel after 10 minutes of running this test?
These users thanked the author Ilan Tochner for the post:
Tess Juel
User avatar
Tess Juel
Posts: 23
Joined: Sun Sep 11, 2016 4:24 pm
Has thanked: 13 times
Been thanked: 12 times

Re: Animesh vs opensim NPCs

Post by Tess Juel »

Graham Mills wrote:
Sat Mar 21, 2020 9:09 pm
Now running 350 animesh avatars. A few glitches in the animation and the occasional lost avatar but pretty responsive.
That's really impressive.

But what your test shows, is that animesh with KFM works really well for multiple instances of the same character running the same animation and following the same fairly simple path. There's a lot of reusable data in your test and that shuold make it much easier for both server and client but it leaves quite a few questions unanswered, such as:
  • What happens if the animesh characters follow different and more complex paths?
  • How about uneven terrain?
  • How about characters walking on prims, sculpts and meshes?
  • What if the characters run different animations?
  • How does the number of active bones affect performance?
Graham Mills
Posts: 1034
Joined: Sun Dec 23, 2012 2:26 pm
Has thanked: 648 times
Been thanked: 783 times

Re: Animesh vs opensim NPCs

Post by Graham Mills »

Hi Tess

Thanks for your comments.

I'm certainly interested in scripting more complex and emergent behaviours although I suspect others will do a better job and the temptation is to let them! In the first instance, however, I'd want to support branching paths via the marker prims and I think that should be fairly straightforward.
The animesh here are phantom so the issue is more one of programming elevation relative to terrain, mesh or path prims.
Running different animations should be straightforward. Using the feature constructively inworld might require further thought.
I only have the one avatar so cannot comment on bones vs performance or, indeed, determine whether any issues are server or client-side.

A couple of observations on the existing code (such as it is):

Avatars show a tendency to be trapped at markers on world restart.
At high avatar counts the sensing required to locate the next marker goes awry during shift-copy of the avatar (more pronounced still if mutilpe avatars are shift-copied). Finding out how to rez active animesh from a script would eventually be a boon.
Tess Juel wrote:
Sun Mar 22, 2020 12:45 pm
Graham Mills wrote:
Sat Mar 21, 2020 9:09 pm
Now running 350 animesh avatars. A few glitches in the animation and the occasional lost avatar but pretty responsive.
That's really impressive.

But what your test shows, is that animesh with KFM works really well for multiple instances of the same character running the same animation and following the same fairly simple path. There's a lot of reusable data in your test and that shuold make it much easier for both server and client but it leaves quite a few questions unanswered, such as:
  • What happens if the animesh characters follow different and more complex paths?
  • How about uneven terrain?
  • How about characters walking on prims, sculpts and meshes?
  • What if the characters run different animations?
  • How does the number of active bones affect performance?
Post Reply