Gaming Lag

Gaming Lag

OPINION

Is it him, or is it me? Here's a little theory I have about server lag, low framerates and the overall compromises which must be made in graphics quality while playing Battlefield 2 on-line. (I could be wrong, and am ready to stand correction,

To begin with, I boot the game on my PC. This machine is a standard, off the shelf, proprietary computer (eMachines A26EV17F/AMD Athlon XP 2000+, 1 gig RAM.) I had to upgrade the graphics card in order to play Sid Meier's Pirates 2, which is a graphically strong game (besides being highly entertaining.) However, I had no intention of playing games on-line, so I didn't go whole-hog in my choice of cards. I went to Circuit City who features nVidia products. The sales guy thought one he had was moderately priced, and sufficient to my pirating purposes the nVIDIA GeForce FX 5700LE. Of course, when I got the machine home, I downloaded the latest driver and found Pirates 2 ran fabulously with nVIDIA Detonator 78.01. I'm using a Sony Multiscan 200ES monitor, and if anyone's seen Pirates 2, they'd agree the graphics are beautiful, and this setup presents them at their highest settings with no image tearing, framerate problems or system lag.

Yet, this game (Battlefield 1942) shipped with the video card. I'd read extensively about this game. I'd even visited the official website to get an idea of what kinds of people play this game, and I must say I was very impressed. So, when I saw the game with the card, I was intrigued. The kid who installed my card was raving about the game. Then, the other tech-weenies there began to chime-in, so I resolved to check it out. I mean, if the game shipped with this card, then this card, plus my one gig of RAM, with my 1.66hz and my 10.0 Mps cable connection should be adequate to the purpose. (I have to say, in this "nothing is free" world, I was skeptical about the on-line process, having seen a lot of "you're doing fine, but now you just need to add 'this'" sort of "free deals.")

I tried to get on a server, and this is beside the point, only to find there had been patches, and mods, and expansions, and I kept getting this "wrong version" message instead of the enjoyment of the thing working the first time. I've come to expect this after ten years of on-line experience, and experience with computers that goes back twenty years. It's still disappointing, but what are you going to do? One thing I wasn't going to do was search the world over for the right downloads. So, I put the disk away, after playing single-player mode to get the gist of the game, and continued to play other games I happened to be into at the time. I did, however, keep up with the official website, because at the time this brand new game was coming out, and it wasn't an expansion of BF42. It was its own little thing in Battlefield 2.

"Aha," I thought. "I can get in on the ground floor with this game, and keep up with the various patches and expansions as they come up which will keep me current with no question." This I did, and it's worked out that way, much to my immense pleasure. Yet, as I said, this is off the point, and only some of the backfill journalists must attend to to build a context for an article. What I'm interested in is the quality of graphics reproduction while playing on-line. The first thing I did, while I awaited the release of the game, was read extensively about what is involved in computers creating graphics on a screen, and what is involved in transmitting these images across the vast internet. There I discovered terms like "framerate", and "image tearing." The term "lag" I'm familiar with from my days with the Microsoft Network where I hosted in a popular chat room run by their Writing Forum. MSN was notorious for lag, and I even pinged one chatter and got a result of an hour and fifteen minutes lag. It was so notorious, it was a running joke, and the forum members (now called community) had learned to work with it in a humorous way.

My curiousity made me look into this a bit further, and what I discovered some of you tech-weenies may know, but a lot of other people may not. A ping rate is the time it takes to transmit one byte of information from a computer, to a server, and back. These bytes are called "packets". They're sent in a stream across the vast expanses of electrical wiring. A misconception many had was, they sent packets to their internet service provider's server. The ISP server, then sent the packets directly to MSN's server, which then sent responses back to the ISP, then the user's PC. If the user's computer processes information at a certain rate, and the ISP's does too, and so does MSN's…and you add these numbers together, where's the lag coming from? Well, while upgrading WS_FTP, the popular file transfer software offered for free by Ipswich, I saw they had a program called Ping Pack. Ping Pack? I downloaded and gave it a look. This software traces the route your packets take as you send them to a particular server. And, what did I discover? The packets I sent went through a circuitous route involving at times up to fourteen different servers; sometimes only nine, but a good average was twelve, give or take.

It doesn't take a genius to figure out that any one of these servers in that routing might be rather slow, because the operators are either configuring them improperly, or using low-end equipment. Out of a string of ten, for instance, three could be slowing the transfer of packets along that line, and this would negate the high-end equipment's speed regardless of how it's configured; a chain being as strong as its weakest link. Using Ping Pack further, checking out other server's ping rates, I discovered this routing would change. Whole other strings of servers were pulled into action to send and receive my data. The possibility of losing strength began to seem mathematically endless. This should be of interest to BF 2 players, since it's the same process being used to send your game data to the game servers.

Okay, here's my point. Battlefield 2 works just fine for me on my PC at the highest graphics settings, anti-aliasing and all. I'm using a top-end cable modem with a connection that was established (hardware-wise) by a tech-weenie who sat here at my desk with meters to ensure it was all wired-in properly. This should mean the signal I'm sending out with my software set at its highest graphics quality settings, even with my somewhat modest computer set-up shouldn't differ from the quality I see playing single-player mode, and not transmitting across the web. Yet, as we all know, this is not the case. The case is we have to, at best, set our game at medium, with anti-aliasing off to get the quality of graphics that make the game playable, and accept the loss of graphics clarity as part of the process and play around it. The truth of the matter is, the majority of players have theirs set to the lowest settings with anti-aliasing turned off.

All the players offering guidance on improving the process just tell you to buy more and more hardware. "Hook up a V-2 Harley engine to your graphics card and ZOOM, you can fly with it!" You can read these posts on all the forums; this processor, that video card, these tweaks, that monitor. However, all these solutions are band-aids designed to overcome one glaring inconsistency and failure in the process. If your computer runs the game well enough off-line, and it doesn't run well on-line, it's the fault of the servers through which a player's signal is being sent, or rather, the string of servers, any one of which could cause losses in framerate, tearing of images, and (or) lag.

As an experiment, I went to a website that offers tools for examining DNS qualities for whatever DNS you choose to examine. This site can be found at:

http://www.dnsstuff.com/ DNS Stuff.

You can take a look at this site, armed with the IP addresses of your favorite, or not so favorite, game servers and see for yourself. For this article, I chose to examine Wolf Servers for no particular reason but for the fact I had to choose something. They are commercial, and not leased by players, so they should represent an industry standard.

Ping #1: Got reply from 85.236.101.56 in 79ms [TTL=122]
Ping #2: Got reply from 85.236.101.56 in 77ms [TTL=122]
Ping #3: Got reply from 85.236.101.56 in 76ms [TTL=122]
Ping #4: Got reply from 85.236.101.56 in 77ms [TTL=122]

When the server was last reloaded, we had 182897 IP addresses banned.

Players might find this last bit of information interesting. That's a really good ping rate, an average of 77ms.

However, doing a traceroute on this server is interesting as well:

Gaming Lag


Analysis:
Number of hops: 8
Last hop responding to ICMP: 6, UDP: 8, TCP: 7.
There appears to be a firewall at 85.236.101.56 (hop 7) that blocks ICMP (ping) packets.
The destination appears to block unwanted TCP packets.


* T1/T2/T3 are the round-trip
times in milliseconds (1/1000ths of a second).

* T1 uses a proper ICMP-based
tracert (Microsoft style). T2 uses a UDP-based traceroute (Unix-style). T3
uses a TCP-based traceroute (port 80).

* Since many ISPs now block
ICMP and/or packets to unknown ports, T3 (not used by many traceroute
programs) typically shows the best results.

* Best times may be theoretical
(if it takes 80ms to hop 10, and 50ms to hop 11, we say the best time for
hop 10 is 50ms).

* If no reverse DNS entry is
given for an IP, we display 'unknown.example.com' if the domain
name is known.


As you can see, my signal passed through five IPs before reaching Wolf's, the sixth. Anywhere along this line, there could be a problem with the signal, and it wouldn't necessarily be Wolf's fault. You can see in the chart the 77ms average drops on two IPs to 1.0ms and 1.5ms. If you think of this in terms of time, that time loss is carried forward. The other, more efficient servers can't bump it up. Although, there is a ratio of speed where the follow-on servers can overcome the lag and regain the 77ms average speed. However, most servers I ping come up with an average of 77ms. The point is, if a player is playing on a string of a dozen servers, any one of those servers could slow the signal rate sufficiently as to create a lag in the ping time.

What one must consider is in this string of servers across which this data travels, not all of them are dedicated to just Battlefield 2 players. Some, such as my ISP server (Comcast) are catering to hundreds of thousands of home PC users doing banking, browsing websites, running chat software and the like. They also provide service to businesses sending e-mail, doing data transfers and this sort of thing. There have always been high-traffic periods during a day. For instance, most people know as the close of the business day approaches, a flood of e-mails go rushing out from the corporate world at the last minute. The after dinner, but before bedtime hours at various time zones (in succession) around the world see a huge increase in traffic which has the various servers working at their maximum capabilities in most cases. Weekends? Everybody and their cousin with a PC is hitting the web when Saturdays and Sundays come! This is when the true quality of the hardware operated by service providers, and the quality of the operators who set up the server's parameters begins to show. Recalling the weakest link adage, any one of these servers that's overloaded because the operators miscalculated their useage rates, or are not properly configured, because the tech-weenies could use some more schooling, is enough to cause a game like BF 2 to work poorly, or not at all.

Sure, it is possible to some degree to slap a band-aid on this process by procuring the top-end of everything for your own computer, and by hitting the books and tweaking, clocking or using other contortions to gain efficiency. However, it should be apparent to all - that will only go so far. Most of the posts I've seen in gaming forums are replete with accounts of going to these extremes with no noticeable difference, and why's that? It's not your computer that's causing the problems. It's probably someone else's.

What one must ask oneself is this: If this game has a graphics presentation potential that is excellent, why didn't the developers (and especially the ones who distribute the game) take all this into account? Or, if they did, why haven't the ones who created this game server system, as it were, ensured all the servers (save the player's ISP) are up to snuff? Why do we have to play the game at its lowest settings, when we paid for the highest ones? If they tell you it's your computer, isn't that just blame shifting? Hasn't anyone noticed the nexus between the hardware developers and the gaming industry? Why is it each succeeding game will require another few hundreds of dollars of investment by the player just to make the game work as intended? Once again, I detect a funny $mell, and it ain't coming from my computer.