Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

I keep lagging out of Starcraft II games, even though I am (moderately) certain my network is just fine, I'm on a university campus.

I am however lacking in system specs, specifically my graphics card. I'm not sure how or why this would affect my game connection. My motive is two fold, I'm curious as to how this works and also I would really love to play some freaking Starcraft.

Some details: Macbook pro. 2.16GHz intel core 2 duo. 3GB DDR2 ram. ATY Radeon X1600 128mb

EDIT: I thought about posting this on Superuser but their FAQ told me not to post a question about video games so hopefully this was the right place to come

share|improve this question
1  
Absolutely the right place to come. Welcome to gaming. –  Mechko Jul 28 '10 at 4:39
    
University networks have a lot of jitter and the availible bandwidth isn't always consistent due to heavy traffic, which could be causing this –  William Lawn Stewart Jul 19 '11 at 4:39
    
Lowering your resolution helps if your graphics card/chip is not great, but only to a certain degree, some features rely mainly on CPU power. So, start with minimum on settings, if it seems playable, then increase settings bit by bit and see where it breaks. –  Bora Jul 19 '11 at 8:29
add comment

4 Answers

up vote 8 down vote accepted

POTENTIAL REASONING:

In my experience with Modern Warfare 2, the program behind the game waits for certain conditions to be met before it sends off a packet across the network. For example, if your graphics card is taking too long to draw a frame, the program may wait for that frame to be finished before it sends or reads the next network packet. In addition, some drivers may choose to offload processing to the CPU if it detects that it is too much to finish in the allotted time.

I would ask: Are you the only one experiencing the lag or do others see you lag as well?

When my external harddisk takes a long time to write data, my network card stops transmitting until the other synchronized processes are finished.

This is best explained if you consider the case in which you are the host: as host, it is your responsibility to synchronize all the other players. However, if you are taking a long time to finish the computation processes, you will create lag even though your network connection is not being overloaded.

Ping is calculated not by the congestion on the network, but by how long it takes for you to respond to a packet. While the most noticeable source of intermittent delay is network congestion (bad connection), in your case it is probably processing delay, that is, your computer just can't keep up with the frequency of messages.

Hope this helps.

POTENTIAL SOLUTIONS:

If you are playing the native version of Starcraft II, I would suggest that you make sure your OSX is at version 10.6.3 (roll back or update as necessary) and try playing on the minimum settings. If you are playing on bootcamp with the PC version, I would suggest looking into overclocking your gfx card or updating the drivers. Bootcamp is known to underclock gpu's in order to maximize battery life.

share|improve this answer
    
ps. sorry the answer is so wordy :-p –  Mechko Jul 28 '10 at 4:43
    
This answer is only partially correct - the whole point of the graphics card is that the CPU can do other things (like handle network traffic) while stuff is drawn. In a game like modern-warfare, where the players are simply dumb-clients, having a slow graphics card may give the appearance of lagging, but the client should never actually lag out. RTS's like Starcraft, however, work completely differently (peer-to-peer architecture, rather than client-server) - see @Sylvain's answer –  BlueRaja - Danny Pflughoeft Jul 20 '11 at 5:01
add comment

I don't have played Starcraft II, but I've worked on many RTS as a network programmer, and I'll try to give you a possible explanation of what is probably happening. When designing the network code of an RTS, you have two major options to do it.

The first option is to have each machine managing some subset of the units (those of the local player and maybe one AI controlled player) and to send to each other machine the modification of the state of each of those units (where are they now, did they change the currently playing animation, has their PV changed, ...). If you do it this way, you reduce the actual work of each machine (only compute modification for some of the units), but you increase the bandwidth used (since you have to send all modifications).

The other alternative is to have each machine simulate the behavior of every units, and only send between them the order given by the players since you can reconstruct all the state modification from that. However, the load of each machine increase. Many games (Warcraft III, Starcraft, Supreme Commander, Age of Empire, ...) use this model as it greatly reduce the bandwidth required. We speak of a synchronous network engine. I suspect that Startcraft II also use this model.

So how can a bad GPU cause you to lag ? Well, when you have a synchronous network engine, the timestep of the simulation processing has to be the same on each machine. So the slowest machine in the current game is the limiting factor. Moreover, the simulation and the rendering must be somehow synchronized (the rendering depend on the simulation, and you can't tell the other box you have finished the current frame if it has not been rendered). So if you have a poor GPU, the CPU may be waiting for it before telling the other box that it has finished its work.

It can get worse. Since your CPU is waiting for your GPU, you have less time than the other machine to perform the simulation. And as you must simulate every unit (not only yours, but the unit of each player), you have more work to do in less time as the game progress (as they are probably more and more unit build by each player).

In fact, in modern RTS, if you do a game with eight players and seven of them have really powerful machine and fast internet connection, but the last one has an old machine, then the game will suck for every body.

share|improve this answer
    
+1 this is the correct answer - it also explains why someone with a bad video card will cause EVERYONE to lag in Starcraft. Having read quite a bit about peer-to-peer networking architectures, I was about to post the same thing. –  BlueRaja - Danny Pflughoeft Jul 20 '11 at 2:02
add comment

Typically on-board network cards require interaction with your CPU, these are done through IRQs (Interrupt Requests). Your graphics card probably has a lower IRQ than your network card, and as such it has priority over your network card. Since your graphics card is so under powered for the game it is likely using up so much of your CPU cycles that there simply isn't enough left over for your network card, and as such your network card simply does not do anything resulting in the lag effect.

This is strictly a presumption based upon your situation, but it is likely along these lines.

Something you can do is update your drivers, this may resolve the issue.

share|improve this answer
    
But wouldn't all modern OS'es schedule this so it wouldn't cause starvation? –  Jeff Mercado Jul 19 '11 at 19:52
add comment

As an addition to Mechkos Answer:

your graphic card is definetly on the slow side. From the system minimum requirements:

128 MB PCIe NVIDIA® GeForce® 6600GT
ATI Radeon® 9800 PRO

I hope you reduced ALL graphic settings to the minimum. The absolute minimum. Also: update all drivers related to graphics. Sometimes that helps also (I don't know about MAC though).

share|improve this answer
1  
The X1600 is better than a 9800 (one generation newer, if I'm not mistaken); that being said, it's still pretty ancient by gaming standards, and as such, you should be running at minimal graphics settings as suggested by StampedeXV. –  Doktor J May 11 '11 at 13:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.