Sign in to follow this  
Wurmhole

Performance Overhaul to Client

Recommended Posts

Ok, Since coming back, I've noticed the extra work my CPU & GPU have been doing, causing my fan to go into full on hair dryer mode.  In the past, I used to run 8-10 clients with ease on moderate settings, but now 2-3 on the lowest settings can start the hair dryer.  After a bit more research, I've noticed it is magnified around large settlements.  That was also a factor before, but with whatever graphics update we had while I was away, it really is a pain to get near a large settlement/deed.

 

So, how do we address it?  I'm not a programmer, but I do like to imagine solutions from a layman's perspective, so please forgive me if my ideas are silly or impossible - or already attempted with no success.

 

1.  Lights.  We make deeds to show them off, as well as be functional.  Lights bring them to life and we want them to reach far distances.  Sadly lighting is really hard on GPU, with the color, intensity, bloom, shadow and whatnot.  Allow us to choose the range we wish to see any lighting in client settings.

 

2. creatures.  I use a long distance range for creature draw distance, because I want to know if I'm heading into a den of trolls. I also want to see the dragon from long range, but not the 100 blood catching alts. I don't care so much if I can see sheep and pigs from 3 servers away.  Allow us to set the draw distance for human (NPCs and players), to make hunts and Impalongs much better and for agro or non-agro critters.  I don't want to have my client draw the 500 horses living next door, but I do want to see that hell hound in the middle of my vineyard.

 

3. Inside Items.  If there are 500,000 items in buildings, in the deed next to me, I don't want to know.  I don't want my client to know.  If I get within 1 tile of the building, go ahead and draw the items, so I can see them through the windows.  "Draw items inside buildings when outside" (on or off toggle)  Probably need the on toggle for pvp or something.

 

4. Outside items.  How about we also set a range for the draw distance of these?  Separate item and building draw distances.

 

5. Buildings.  A large building is most likely being rendered by the client as hundreds of individual parts.  If so, is there some way we can replace all those parts with a 3d rendering of the building as a single object?  I'm sure this is some kind of programming voodoo that isn't possible, but if it were, we could eliminate 90% of building lag and still have long distance viewing of all the awesome buildings in Wurm. (also see #4)

 

6. Water. I generally end up using the lowest settings, with no reflections and low detail, which means there is a slightly opaque skin over the bottom of the lake/ocean, looking nothing like water.  Yes, this is handy for finding out what you are sailing over and spotting lost items/clay/tar.  However,it looks really lame.  Could we also have a toggle for low QL water that gives a completely opaque slightly choppy water surface, with darker or lighter color to designate water depth?  I can't imagine it would take much CPU/GPU to draw that and water would gain so much over what we have now.  You could even have different levels of chop/waves, based on the wind speeds.  Right now, sailing in a gale with glassy water is silly.

 

For the distance settings in all options above, Please allow very granular settings in tiles: 1,2,5,10,15,20,30,50,75,100,150,200, etc.  I think this would solve performance for 95% of all issues we have now, that aren't brought on by slow servers or slow internet.

 

Boss hunts would be a breeze

Exploration would probably not need relogging every 15 minutes

Living next to the mega deed, or in a busy neighborhood would be fun again

Sailing would seem much more realistic.

 

I'm probably missing many great things that could be done to improve performance, but hopefully at least 1 thing above sparks an idea that turns into a better client experience.  There are a ton of brilliant folks in Wurm, devs and players, so PLEASE pitch in with any fixes to my silliness above, or additions.  Devs have busted their butts to make some great features in this game, so let's give them some ideas that helps us all enjoy those features better.

 

 

 

Edited by Wurmhole

Share this post


Link to post
Share on other sites

Just throwing this out there as a search on this post for "unstable" turned up 0 matches... have you tried using the Unstable client?  For me, it means the difference between 20fps or less and steady 63fps when setting my cap at 60fps.   That is with shadows, water reflections, and lighting on.

 

If you are on the Unstable client, ignore my post.

Share this post


Link to post
Share on other sites
1 hour ago, Wurmhole said:

1.  Lights.  We make deeds to show them off, as well as be functional.  Lights bring them to life and we want them to reach far distances.  Sadly lighting is really hard on GPU, with the color, intensity, bloom, shadow and whatnot.  Allow us to choose the range we wish to see any lighting in client settings.

 

Unstable clien does this, check max dynamic lights

 

1 hour ago, Wurmhole said:

2. creatures.  I use a long distance range for creature draw distance, because I want to know if I'm heading into a den of trolls. I also want to see the dragon from long range, but not the 100 blood catching alts. I don't care so much if I can see sheep and pigs from 3 servers away.  Allow us to set the draw distance for human (NPCs and players), to make hunts and Impalongs much better and for agro or non-agro critters.  I don't want to have my client draw the 500 horses living next door, but I do want to see that hell hound in the middle of my vineyard.

Dont always use long draw distance in packed situations, expect lag if you do.

 

1 hour ago, Wurmhole said:

3. Inside Items.  If there are 500,000 items in buildings, in the deed next to me, I don't want to know.  I don't want my client to know.  If I get within 1 tile of the building, go ahead and draw the items, so I can see them through the windows.  "Draw items inside buildings when outside" (on or off toggle)  Probably need the on toggle for pvp or something.

items inside a house only render if you're within 4 tiles

 

1 hour ago, Wurmhole said:

4. Outside items.  How about we also set a range for the draw distance of these?  Separate item and building draw distances.

render distant items, I THINK contribution culling also helps here

 

1 hour ago, Wurmhole said:

5. Buildings.  A large building is most likely being rendered by the client as hundreds of individual parts.  If so, is there some way we can replace all those parts with a 3d rendering of the building as a single object?  I'm sure this is some kind of programming voodoo that isn't possible, but if it were, we could eliminate 90% of building lag and still have long distance viewing of all the awesome buildings in Wurm. (also see #4)

also part of the work of new clients

 

1 hour ago, Wurmhole said:

6. Water. I generally end up using the lowest settings, with no reflections and low detail, which means there is a slightly opaque skin over the bottom of the lake/ocean, looking nothing like water.  Yes, this is handy for finding out what you are sailing over and spotting lost items/clay/tar.  However,it looks really lame.  Could we also have a toggle for low QL water that gives a completely opaque slightly choppy water surface, with darker or lighter color to designate water depth?  I can't imagine it would take much CPU/GPU to draw that and water would gain so much over what we have now.  You could even have different levels of chop/waves, based on the wind speeds.  Right now, sailing in a gale with glassy water is silly.

there is a setting for this, turn detail up.

 

If you are having performance issues, do mess around with settings, I have two clients myself, one that can get upwards of 120 fps, and one that sits around 40. It's a matter of making sure your settings are right too.

 

Of course there's plenty of performance improvements being worked on, reducing amounts of textures loaded is a big one, and introduction of shaders instead.

 

What I will say though, is ultimately, be careful with what you decorate your deed with. Wurm is a sandbox game, and we try to keep limitations to what you can do with your area very small, meaning players can have thousands of statues in a small area (I've seen this done). This is also what limits us in graphics terms, one highly detailed statue would look amazing, but the instant someone puts down a thousand of them, that area could become unuseable for all but with the highest spec pc's.

  • Like 1

Share this post


Link to post
Share on other sites

Unstable is exactly that for me.  I tried using it again, after coming back and it just kept giving me issues and actually much worse performance.  Love the colors, but when it just closes in the middle of something, or opening settings takes 10 seconds, or no buildings, items or ground will draw, because I enable shadows and water detail, it just isn't ready.

 

1. yes, the max dynamic lights is great.  I assume the priority is closest draws first?  I still think choosing a lighting draw distance would be nice, but probably not a big issue with this feature in Unstable.

 

2. yep, we can turn draw distance down for every animated creature, but would it be possible to create 3 groupings to fine tune it? Agro, non-agro and people?

 

3. Awesome.  I wasn't sure if this was done. Great job!

 

4. CC and LoD should both help, but the big ask is to have one setting for items and another setting for buildings.  When sailing along the coast, it is such a treat to look at all the beautiful buildings, but probably not a big deal to see 400 BSBs along the docks, until you get close.  So I'd love to have buildings set to max distance and items set to short distance.  Every bit helps.

 

5.  Awesome to hear!

 

6. Ok, not sue what High Detail for water is supposed to do, but let me show you what it does for me.  I have reflections off.  This is in a gale:

bd0EbY7.jpg

WnFI3QA.jpg

 

Only in a dead calm wind are there water reflections of recognizable images.  It is pretty to see them, but it doesn't add any realism to the game I think.  I live on the water in RL.  If the Wurm lakes are made of mercury, I can understand the glassy reflections in wind.  Anyway, I turn those off.  So what I see is the above.  This could use some work.  Unlike my other requests, this doesn't improve performance, other than it might give others a good reason to turn off their reflections.

 

Thank you for the detailed reply Retrograde!!

 

 

.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this