Rendering and Player Lag in Massive Houses

Discussion in 'Norrathian Homeshow' started by Mary the Prophetess, Jul 26, 2015.

  1. Mary the Prophetess Active Member

    Greetings all.

    As I understand it, rendering lag is a function of the distance an object is from the zone in location. Is this true for both the horizontal and vertical axis?

    Also, do the number of objects placed affect rendering or just the distance from the zone in? If I were to place, (hypothetically), 1200 floor tiles in stacks around the zone in, would it have any effect on the rendering speed, or is the rendering speed strictly a function of distance from the zone in. and not of number of items?

    If building in the breakout area of a huge zone, such as the Hua Mein Retreat, what can be done to reduce rendering times?

    Is player lag inside a house, (moving, etc), a function strictly of the item count. or does the distance from zone in *also* increase the lag a player may experience?

    I tend to push the limits on my houses to the max, and any suggestions on ways to reduce rendering times and player lag without impacting item count are very important to me. I also worry about the stability of massive homes and crashes that visitors might experience especially if they have a relatively modest rig.

    Thanks ahead of time for your suggestions and advice.

    Mary
    Uwkete-of-Crushbone likes this.
  2. Haohmaru Developer

    There are 2 things that cause the noticable lag/loads people see in homes/halls. Well, there are other factors but these are the 2 biggies most of the time.

    Texture diversity which directly equates to memory usage. The more textures (and geometry but that's far less an issue) used by unique items, the more memory is needed. The more memory needed, the more loading/unloading going on and the hitching that occurs even when you don't 'see' items in front of you. You will try and load any items within your view distance even if above/below you with no direct view. Items farther away use less texture memory unless a copy of the item is also close to you. It's constantly balancing those assets which leads to performance hits.

    Item density which equates to rendering performance. If you have 1000 items in your view, it has to setup all of those to be rendered each frame. If you have lights/etc, it gets costlier. Even if the item is 'cheap' (few textures or copies of a select few items all over, like tiles) it takes time to set the items up to be rendered. So even if they are memory-friendly, it can still hurt performance if the quantity in view is crazy.

    Unfortunately, there's little we can do to mitigate this since it's a completely user controlled experience. We've always said that players are a homes worst enemy :) One of the things we often suggest though when homes start to cap out is for players to lower their texture quality while in dense homes (better yet - before entering). Obviously the trade off is aesthetics (which pains me to suggest this) but generally, every step lower in texture resolution (say from Maximum to High) should lower memory usage by almost half, possibly more, sometimes less. If that doesn't do much, then it's more an issue of items-in-view and the only suggestion at that point is to thin out dense pockets which is certainly not a popular solution. I tour homes and watch a lot of crazy tour videos. It's insane what the community continues to come up with so I'd love nothing more than to remove all caps and let everyone go even crazier with their designs, but I'm not sure a computer exists that would allow that yet ;)
  3. Jazabelle Well-Known Member

    As Haohmaru already addressed the actual lag portion of your question, let me take a stab at the rendering lag issue. (And if any devs want to step in and correct any misconceptions I may have about how things work, that's encouraged! Everything I'm about to type is from observation and personal experience, not insider knowledge :p)

    "Rendering lag" is the time that it takes for items to populate on your screen after you appear in a location (as you know, just reiterating for anyone reading who doesn't understand what's being discussed). The further items are from where you are in the world, the more likely it is that you'll run into rendering lag.

    Contrary to popular belief, distance from your current location and number of items are the only things that matters with rendering lag. If items are 500 units away from you or 5000 units away from you, when you teleport into the middle of those items, it will take the same amount of time to load on your screen. The more items there are, the more time it will take, but the distance doesn't matter once it's out of your rendering distance from your point of origin. 500 or 5000, if you couldn't see it when you originally zoned in, it's going to take the same amount of time to render.

    Rendering lag is actually not connected solely to zone in location--if you zone into a house zone and teleport to the decorations, and encounter rendering lag, then log out and log back in to the decorated portion of the zone, you will log in instantly, with all decor already in place on your screen.

    Rendering lag is due to teleporting to items that are outside your character's rendering distance. It doesn't matter if you're starting from the zone entrance and teleporting to a location 10000 units away, or if you're starting from a location 10000 units away, and teleporting to a location at the zone in. If the location you're moving to is outside of your rendering distance, and you appear there instantly, you're going to experience rendering lag. Yes, it's less once you've been to a location in a zone once, and are heading back there, but it still happens.

    I've found that sometimes it's actually faster to zone into a house, teleport to the decor, then /camp back to my character (a total time of less than a minute, rather than the longer load time of sitting and waiting for everything to appear on screen).

    There isn't really a way to minimize rendering lag. The only thing that will "fix" it is to build the home inside a character's rendering distance from when they zone into a house. Even that depends on player settings, however. If a player has a low rendering distance, a low level of detail bias, and a low spell effects distance, not all of your home may load even if they're standing directly inside of it. Most players' computers can handle high enough settings these days that that shouldn't be an issue, but I have seen it occur.

    It doesn't matter if that distance is horizontal or vertical; your visibility is a sphere around your character, so a horizontal or a vertical distance are treated the same.

    I briefly touched on this earlier. The number of objects placed do affect rendering time, and while they affect zone in time, it isn't a big deal (30 seconds as opposed to 20 seconds, for example).

    If you were to place 1200 floor tiles in stacks around the zone in, a player might experience a slightly longer zone in time, but it wouldn't be truly detrimental. I have a home with 1200 floor tiles in one room, and the zone in time isn't noticeably different from a home that's a bit more spread out. Most homes' items are all within a player's rendering distance from zone in (unless it's a breakout or custom build, which I covered above).

    As Haohmaru mentioned though, texture diversity is a big one. If you had 1200 floor tiles, and you split those tiles among every type of tile in the game, it would take more zoning time and cause more lag than if you used 1200 floor tiles of one type. In fact, that's one reason I built my cathedral out of as few different textures as possible--the limited number of textures means that it's easier for a lower end computer to render without lag (of the rendering and movement varieties).

    This. This this this this this! Keep this in mind when decorating.

    When building in something like the Hua Mein, the only suggestion I can offer is to build the bulk of your home within rendering distance of the entrance, and to ensure that there are plenty of points throughout the zone for players to stop and explore. If you ensure that each "exploration point" is within view distance of the next one, this will allow the following exploration point to load on a players' screen while they're occupied with the current one. It isn't a perfect fix, but it does prevent the player from noticing the rendering lag that's occurring, as they slowly move from one point to the next, and each further point renders.
  4. Mary the Prophetess Active Member

    So, if I understand correctly, housing zones which allow flying, such as the Tenebrous Island Refuge, may have rendering issues because the mount travels faster than the object rendering can occur?

    Additionally, if you place your teleport pad in the middle of a forest area with many and varied objects which need to be rendered, the rendering rate will be slower than if you teleported into a small room with not much in it or around it?

    Suppose you placed your teleport pad in a small cabin in the middle of a large forest. Even though you can only see the room that you are in, the objects that are within your rendering radius would still need the additional time to render, even though they are hidden from your vision by the walls of the cabin?

    400 trees of many types will take longer to render than the same number of trees of only one or two type.

    To assist rendering many objects over a large area, the use of "interest waypoints" slows the visitor down and allows things to render before they move on to the next "waypoint". Player written books and house actors can serve a useful function for slowing the journey down to allow rendering to take place more smoothly

    Have I got this right?
    Uwkete-of-Crushbone likes this.
  5. Uwkete-of-Crushbone Well-Known Member

    Hmm; I may argue with Jaz over the rendering distance question, though. Many's the time I'd been helped with my old XP rig by people putting the complicated, fancy stuff far away from my zone-in point; if I couldn't "see" it yet, distance-wise (not just somewhere in the sphere that I "should" be seeing it in, but couldn't yet, because physics), it wasn't freaking out my computer with memory issues (yet). One of the best uses of "spreading things out" was with Clan Mawr's Antonica T3 guild hall, where although they'd nearly maxxed out out item count (and my old bugger of a rig had a tough time with anything over 500 items after awhile; couldn't get into my own SQ house because my awesome decorator had placed all the cool stuff, all the intricately rendered souvenirs of Uwk's adventuring career, etc., right up front so visitors could admire them right off the bat ... sigh), it was still possible to get into it in the first place ... They'd placed about 100 items immediately when you came in from the docks, sealing off access to the rest of the default building, and one of them was a big, impossible-to-miss teleport pad, shooing you outside into "Antonica" where the various "rooms" were areas 100s of "yards" apart, for the most part. The teleportation area was on the Lighthouse Island; the GH Hall of Fame and Trophies were in another place further east along the coast; the crafting hub was over in the little box canyon on the way to "Stormhold"; the safe fall practice area was hundreds of yards straight up over an unpopulated area; the marketplace (bank, broker, etc.) was by the shores of the water-less pond where the big shard of Luclin landed, etc. Granted, each area still did take awhile to load, even with only 100-200 items in each area, but at least it could be done, on even an old XP clunker. I really appreciated them doing that, as did my old rig. :)

    For my money, the thing that still worries me to this day, even with Win7 Home Edition (knew it was a mistake not to get the Pro edition when I had the chance ...), is the animated stuff, especially any house pet with flapping wings. For whatever reason, that seems to be the biggest eater of memory resources, and I have to beware whenever I see their wings stop ... and they aren't resting. Then I know to get the heck out of Dodge for a bit before I crash (yep, still happens on occasion, and I don't have highest graphics settings by any means [Balanced is more like it, with Flora, Shadows, etc. turned off]). :-/

    Uwk
    Mary the Prophetess likes this.
  6. Jazabelle Well-Known Member


    Correct.

    Not quite. The rate would be the same. But since there are more items in the forest, it will take longer overall for the forest to render than the small room. If each item takes 0.5 seconds to load, an area with 100 items will take longer than 50 items, even though they're rendering at the same rate.

    Correct.

    Correct, though the difference is slight enough that it would take a really poor computer for it to be noticeable by the average user.

    Correct as well. It will depend on the players, of course (some choose to not read the books or pay attention to the house actors, for example), but it should help with larger builds.


    I actually had a nice chat with Gninja and Kander about that at last year's SOE Live. Everything in range of your line of sight, whether you can see it or not, "renders" in the sense that the game loads it in to the ...memory?... so that it's readily and instantly visible as soon as you move to a spot where you can see it (including stuff behind you and stuff behind dev created walls. Player walls don't count). However, if you can't actually see it from where you're standing, it doesn't actually become visible, which helps the slower, lower end machines that can't handle a lot of graphics all at once. Hope that made sense!
  7. Uwkete-of-Crushbone Well-Known Member

    Yeah, that did help, Jaz! Thanks! :)

    Uwk
    who at least has a better computer now... ;->