Jump to content

  • Curse Sites
Help
Regional FlagJanuary WvW culling & loading changesSource
avatar
ArenaNet Poster
Target Source
#1 -

In the January update we’ll be making a couple of preliminary changes to WvW.
1. The first of our engine changes will be coming on line to help improve character load times by using fallback models.
2. We’ll be switching over to the culling methodology that we trialed in December.

The engine change we’re making uses fallback models to represent characters until their detailed models are fully loaded. The fallback models are cached so that they can display without any asset load delay and there is a distinct fallback model for each race/gender/armor-class combination. As a result of this change players will be able to see characters represented as fallback models as soon as those characters are reported to the client. Once the specific, detailed model for a given character is completely loaded from disk the fallback model will be replaced with the detailed model. This visual compromise will help to ensure that players see other characters as quickly as possible in WvW. Please note that this change does not eliminate delays due to culling, it only addresses delays due to asset load times. Players on higher spec machines would therefore expect to see fallback models less often than players on lower spec machines. This change also lays the groundwork for more extensive uses of fallback models in future updates.

In December we ran a one matchup trial of an updated culling system. Based on all the feedback we received, both during and after the trial, we will be transitioning to the updated culling system that we used in the trial. This update allows the culling system to handle allies and enemies separately so that being surrounded by a group of allies will not impact the culling of enemies (and vice-versa). The general consensus after the trial is that this system lead to a better player experience in WvW. We further saw that some of the issues people had with the new system were related to asset load times rather than culling issues so making this change in combination with our character loading improvements should lead to an improved overall experience. It is important to note, however, that while we believe this change is an improvement to the WvW experience it does not fully address the issues with culling and we are still working towards our goal of removing culling from WvW completely. This change is intended to give players an improved WvW experience while we continue work on our more comprehensive solution.

While this update only contains a couple of visible changes to WvW it lays a lot of important groundwork for future updates. We have some exciting changes coming and this update is just the beginning!


avatar
ArenaNet Poster
Target Source
#28 -

Krakah, no, the behavior that you’re describing is the server culling which characters get reported to your client. This update doesn’t eliminate that, though it biases the algorithm such that being surrounded by allies won’t cause you to be unable to see any enemies (and vice versa). Disabling culling entirely is something that we’re working on still and this update lays some of the groundwork we need to do that.


avatar
ArenaNet Poster
Target Source
#84 -

Will there be an option to keep enemies (and even allies) as fallback models?

For people with lower specced machines or bandwidth limitations, it could increase performance? It could also just be a preference, since having a model “update” could be distracting while trying to track them.

That capability isn’t part of the January update but in future updates we’ll be using fallback models more extensively to help with performance in high population scenarios. The fallback models are cheaper in a number of ways including poly count, texture size, and animation count & complexity. I don’t think it would be visually satisfying to have nothing but fallback models on the screen but we’re definitely exploring the right balance. You will see these additional changes related to fallback models in the coming months.


avatar
ArenaNet Poster
Target Source
#92 -

Hi all, I think a little more explanation is in order.

First, let’s call the culling system that we’re switching to “affinity culling” just to make it easier to talk about. Under affinity culling the system handles enemies and allies independently. This means that the maximum number of allies that you can see under affinity culling is 1/2 the maximum number of characters (combined enemy & ally) that you could see under the original culling. Ditto for enemies. In exchange for that cost he benefit that we get is that running with (or through, or past) a large group of allies (e.g. a guild) won’t prevent you from seeing the enemies who are closest to you.

During the initial trial of affinity culling we found that a number of players reported asset loading issues that were highlighted by culling. Any time that your client is aware of another character at all (dot on the map, targetable in world, nameplate is visible, etc.) then culling is no longer a factor because that character has already been reported to your client. In that case if you can’t see the character the issue is one of asset load time. The fallback model feature which is shipping this month directly addresses those issues by providing a cached model to show immediately when the character is reported to the client.

The order of operations looks like this:
1) Character X enters player’s visibility
2) <delay due to the mechanics of culling>
3) Server reports character X to client
4) <delay due to asset load time>
5) Character X full model is visible on-screen to the player

Using fallback models we end up with this instead
1) Character X enters player’s visibility
2) <delay due to the mechanics of culling>
3) Server reports character X to client
4a) Character X fallback model is visible on-screen to the player
4b) <delay due to asset load time>
5) Character X full model is visible on-screen to the player

As you can see we’ve made the asset load delay unimportant (or at least less important) and allowed the player to be aware of character X sooner (in some cases quite a bit sooner).

The combination of affinity culling and fallback models provides a better experience than affinity culling alone. Even so, the affinity culling is not intended to be our last change to the system, but rather to hold players over until we can make more extensive updates to the system (which take time to implement and test). In future updates we’ll be making changes in an effort to eliminate the delay due to culling (step 2 above) and to tell each client about character X as soon as the server decides they have become visible again. We hope to do this by removing culling completely and preserving client performance though a mix of network and engine optimizations, the more extensive use of fallback models, and sundry wizardry.

As I’ve said in the past our ultimate goal is to remove culling and we’re pushing hard to make that happen. This update represents the first steps in that direction and much of what it accomplishes is to lay the groundwork for our upcoming updates. The next few months are an exciting time for us on the WvW team and we’re very excited about the changes are coming.