Results 1 to 12 of 12

Thread: Network traffic compression

  1. #1

    Network traffic compression

    I've been thinking a long time about how to phrase my wishes on this post, to make it understandable both to the developers who need to work on it, and the players who suffer from the consequences of what I am about to describe. As a programmer and former (I got tired of it, OK?) tech support slave, I've long since learned the value of breaking down information into parts that even a monkey can understand. No insults intended towards either devs or players, of course.

    Now, as a player who is currently not able to get broadband connection (Not all of Norway has DSL connectivity yet) I am playing by an ISDN connection, and I suffer greatly from having only a 64 kbps connection (I can get 128 kbps, but in Norway there is no such thing as free Internet connections. The phone bill would be twice as high, and it's already huge). The reason for this is that the amount of data transmitted from the servers to my client is at times too vast for my connection to keep up. The result of this is lag, high ping, and frequent deaths.

    Let me give you an example... Camelot, Avalon. We're talking Tarasque raids here, of course. Imagine running from the safe 100 suppression gas area down into the PvP area. First, you run from the 100% area into the stairs that leave down. Then you go through a door into a four-way room, with morgan LeFay to the right. Then continuing straight ahead, you go through a door leading into a long passageway with two doors on the left, one leading towards Lord Ghasap's domain, and the other into a spiral stairs towards what is popularly known as the box room (Or just box).

    Going through that last door I mentioned, into the long hallway, is one of the most common LD causes on Rubi-Ka. Especially during PvP clashes in the dungeon. The cause? Well, let's say that at any given time, 50% of a person's Internet bandwith is used by AO to broadcast player data, player movement, player buffs, player emotes and chat channels. Then imagine that two rooms away from the hallway there are fourty players of the opposite faction waiting to defend the Tarasque pathway from invading players.

    What happens when you enter the hallway then is that the servers attack the client with information about 40 players, because two rooms away is the in-doors limit for map and visibility range. The client gets info about player names, guild names, avatar size, avatar armor, avatar buff effects, avatar movements and avatar emotes.

    Want me to tell you what happens when I run into that hallway in such a situation, on my ISDN connection?

    Try pouring 2 gallons of water into a funnel with a quarter-inch opening at the bottom, and you understand what it's like.

    The servers suddenly send my client so much information that all other network traffic gets stalled for a long time. I receive so much information that it sometimes takes over 30 seconds to get avatar info, avatar names and such for every new player that suddenly comes within range. And what happens during those 30 seconds? Easy to explain. More network traffic. While my client is waiting for information about what avatars X and Y look like, avatars X and Y move around a bit, cast a few buffs, they shout on the vicinity channel. And so do a lot of other people. I can get attacked a second after entering the hallway, and die five seconds later, but because the messages get queued up to my client, and the subsequent messages become lagged, I can run around, trying to fire off nukes or attack foes for a minute, while all the time, I am dead! Towards the end, I get ten "You were killed by..." messages, and respawn at my insure location.

    In other words, the amount of network traffic in such an occasion, and in many other situations, is way too heavy for many clients to handle.

    Take the old Tir grid area. A hundred people gathered in one 40x40 square. Or the old area around the Broken Shores Home bank. That one was bad. Real bad.

    Or an even better, and more up-to-date, example, the grid. While outdoors areas are separated into 40x40 squares and the client receives information about actions within a limited amount of squares, and indoors areas and missions are limited to two rooms away, the grid is like one big indoors room, thus allowing every client to receive information about every other player there. And the grid is always crowded more than your average 40x40 outdoors square. Movement, buff visuals, names etc. Of course, the grid has simplified graphics, so less information seem to be channeled, but the grid is still one of the laggiest places in the game. Try connection on ISDN and tab'ing through hostile players while moving. Lag city, here I am.

    My conclusion is quite simple... Network traffic either need to be reduced in quantity (Hey, programmers, ever heard about semphores? Use your imagination, folks!), or compressed on the server side to allow for less lag on the clients. Compressing data shouldn't be much of a problem if your servers are powerful enough, and compressing a few kB of data every second is nothing to any client computer above your minimum specs.

    Please, please, please try to look into this. And soon.

    Before we all go LD out of the game.

    -Tharyki

  2. #2
    You know, I used to play on a 56k, and went to Tara without any problems.

    Most likely, when this happens your hard drive starts to access like mad, right?

    It isn't network traffic that's lagging you, its probably diskdrive lag as your harddrive struggles to transfer all of the appropriate textures into video memory.
    Gunned down the young. Now old, crotchety, and back.

  3. #3

    Question

    I think that they are already compressing data packets. When they turned compression on, it caused some problems for ClickSaver long time ago (this is now fixed because ClickSaver is doing packet listening different way).

    I don't know how many TCP/IP packets they are sending from server in second. But if it is true, that they send many packets in second, combining packets would be, most likely, most efficient way to send them (I think that I have seen some research papers from this).

    In the other hand, I have started to believe that their server architecture doesn't allow this - maybe they have seperated processes running for different task, without communication? If so, it would enourmous task to rewrite servers and that would mean many many many bugs...
    Quit whining (.com)(tm).
    ... listening whining since 2001-07-21 11:12:43...

  4. #4
    The issues cited above are the prime reasons why Verant did EQ the way that they did. Here is a quick explication.

    EQ, like AO, is divided into many different zones. Each zone has its own texture bank which is used for skinning the various mobiles and such in the zone. Lets take two zones, East Commons and Plane of Air. In east commons, there are kobolds, orcs, human NPCs, griffons, and a few other odds and ends. The texture file for that zone thus has everything needed to skin those mobiles (NPCs and monsters) and whatnot and nothing extra. Plane of Air, on the other hand, has several unique mobiles (like djinns, drakes, and other wierd stuff). PoA thus has a texture file that contains all it needs for said mobiles and architecture, and nothing more. Each zone in the game follows this structure. The game also has a global texture bank that contains all of the player textures (armor, weapons, races, etc) as well as textures needed for certain mobiles that are found in every zone.

    Continuing the example, mobiles in the PoA could never exist in Eastern Commons because the textures for those mobs only exist in the PoA bank. A mobile from PoA loaded into Eastern Commons would look like a naked male human.

    Verant has intentionally limited the number of textures in the global file because it reduces the number of textures that have to be loaded into video memory for any given zone. It also means that the system is more restrictive in what can be done in terms of GM events and the variation of player models, as EQ uses quite a bit of palette swapping rather than new and unique texture sets.

    Funcom apparently decided somewhere along the line that they wanted greater range of appearance for player and non-player characters. This, unfortunately, came at the expense of smoother system performance.

    Hopefully this explains why things are as they are.
    Gogo "Atremis" Yubari
    220 MA - RK1
    Tranq

    There are 10 types of people in this world... Those who understand binary, and those who don't.

  5. #5
    That does make sense, great explaination Atremis

    I've noticed since the NW patch, extreme loading times. The first thing that comes to mind, after reading that, is even greater global texture data file size.

    I'm sure all the tower textures, and voice files are relevent to the global file. This could indeed explain the increase in harddrive swapping and video lag.

    My system was fine before the patch, but now I can't stand the studdering that occurs.

    If this is the problem, then Funcom really needs to look into ways of optimizing the resource manager (which apparently has already occured). Myself I do not notice a difference, especially in large areas like NLC and trade.
    Rookie Reno Renegede Raines
    The Madquack
    Enshroud yourself in darkness to escape the fear.
    Various others 176 Enf, 160 Fixer, 150 MP, 140 Agent, 130 Soldier

  6. #6
    It's probable that every texture AO uses is in one massive global file that has to be loaded for every zone. Of course, I can't be certain but IMO it makes sense.
    Gogo "Atremis" Yubari
    220 MA - RK1
    Tranq

    There are 10 types of people in this world... Those who understand binary, and those who don't.

  7. #7
    The textures are loaded 'as needed'. They're all one file, yes, but a given texture is only loaded if the game wants to skin something with it.

    EQ, remember, designed itself that way not for bandwidth reasons, but because it was written with the requirement that it must 'fit' into the texture memory of an 8 meg video card without texture swapping. Remember them? <grin>

  8. #8
    Originally posted by Tiran
    The textures are loaded 'as needed'. They're all one file, yes, but a given texture is only loaded if the game wants to skin something with it.

    EQ, remember, designed itself that way not for bandwidth reasons, but because it was written with the requirement that it must 'fit' into the texture memory of an 8 meg video card without texture swapping. Remember them? <grin>
    Yes, I do remember. And to EQ's detriment, it was a move that made the game look worse than cat s***. Truthfully, though, I'd rather see less variation in AO's models than constant slowdown from texture swapping. I've got a 64 meg video card, FFS (Radeon 8500). The game should run better than it does.
    Gogo "Atremis" Yubari
    220 MA - RK1
    Tranq

    There are 10 types of people in this world... Those who understand binary, and those who don't.

  9. #9
    All textures, meshes, items etc. are stored to one resource database (\cd_image\data\db\ResourceDatabase.dat) and it's size is currently 483 630 KB (!). Database is inC-Tree format, which seems to be persistent tree data structure with transaction control. Textures and meshes are (most likely) loaded by on demand - when needed. There also seems to be smaller file (6MB) index file for database (so entire database is most likely not keeped in memory all time).

    Maybe FC is going to implement second database file for Shadowlands? Those models and textures seem to be pretty "blue" there

    ... and no! I don't want to see simpler models and textures! I want see more social clothes and more character models! ... so buy more memory and faster harddrive Atremis
    Quit whining (.com)(tm).
    ... listening whining since 2001-07-21 11:12:43...

  10. #10
    Maybe the solution is for us all to run a 1 gig RAM-drive and load AO onto that for playing ;P
    Thehorseman : RK1

    "I must have beer. Beer is the mind-killer. Beer is the little drink that brings total inebriation. I will drink my beer. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the beer has gone there will be nothing. Only pretzels will remain."-Litany Against Sobriety

  11. #11

    AHHHHHHHHHHH!!!!

    So if i went out and got the best computer there is for gaming would there still be lag? I have been debating if i should by a new computer so if i did would there still be alot of lag and long zoning times in high populated areas for me?
    svendor lvl 206 nt
    Eternal fury
    LORD oF THE CLAW CAMP.

  12. #12

    Lightbulb

    I say I do not care what the mobs look like or the buildings or the
    ground , let me turn off those textures. and wow less lag
    the now morphing adventurer
    with the paired swords 8)

    Coven of Hunters

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •