• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 669
  • Last Modified:

Steady lag interval in multiplayer games


I have a problem that has me totally baffled.
(my computer spec AMD Athlon XP 2400+,  Gigabyte 7VAXP Ultra using the VIA KT400 chipset, 2 IDE100 MAxtor disks.
1x512Mb 400DDR memory,   ATI Radeon 9500, ThermaltakeX case and a 480Watt power supply, 2 netcards,  one CNET200 connected to the ADSL modem with netbios disabled and does the VPN connection and sharing,  2nd is the internal RealTek NIC for the Intranet,  Netbios enabled.)

The thing is that after upgrading my PC to WinXP Pro I started to get weird problems during non-DirectX (that is not using directnet) multiplayer games. (QuakeX, Half-Life, etc.. )

The behavior is like this.  With no changes the game simply times out.  I recieve information from the server, I get key authenticated and the server acknowledges me and sends me info (such as MOTD).  But nothing more.  As if he is getting no packets from me (these are UDP packets),   in Quake2 this exhibits itself as being stuck (unable to move) but I am getting tital coverage of what is happening around (I get the udp packets from the server)

After disabling services, upgrading drivers, disabling the built in firewall,  editing the registry to make sure that the outgoing adapters where using the correct MTU (ping -f -l XXX mygateway.com) found 1370 to be optimal) it was still behaving like that.

Then I found out something that fixed it somewhat.  Changing the priority settings from "Background services" to "Foreground programs" allowed me to connect and get a lag-full game.
with this setting I was getting latency drops in regular intervals. going steady from 100 to 4096)

After messing even more with everything I found out that by lowering the priority of the game process it would dramatically improve. (which is weird,  since lowering the game process AND having priority boost set to background will still behave like before and I will time out connecting.)

So by having priority boost set to "foreground programs" and setting the priority of the game to Low or BelowNormal gives me the best of all options.
But the spike is still there,  connecting to a server that I know is like 4 hops away I will se my latency as 15ms and then I will see it rise up to 100ms and back again. making my netgraph look like a side picture of ocean waves on a stormy night.

The funny thing is that a computer on the intranet, with much lesser hardware, running WinXP, will get a completly smooth game with no lag spikes. And its going out on the connection on this machine.

Does anyone know why this is happening and what I can do to fix this and get a steady smooth connection while playing,
  • 8
  • 6
  • 3
  • +5
1 Solution
could it be a problem with the cable connecting the NIC's or the NIC's themselves are malfunctioning? Have you checked that aspect of it? hope this helps :0)
First the link to correct this, then the explanation ...

Here's a very thoughtful article that will help explain the 5 categories of spyware ...

Here is a source for an excellent spyware checker "SpyBot Search & Destroy" (SBSD) ...
<Nice Files>
<SBSD v1.1r4>

Install, then immediately ...
<Update> then ...
<Check for Problems> then ...
<Fix Selected Problems>

Red-lettered items will be removed and backed up (you don't want these).
Blue-lettered items are merely usage tracks (you'll want to keep these).

Hope all of this helps!
Ted, the Modem Mixer
Hello again!

It's simply a suspicion, not necessarily a solution that I was hedging on, when I posted the above (strong) suggestion.

When you're strictly intranet, your system isn't looking outside of the immediate net (in other words, internet).

That suggests that any "bots" that might be waiting for that connection aren't able to deliver the "goods" or info about your system's trends on the internet, to the internet web site that acts as their "ET call home".

The bots (as hopefully explained in the first link, above) will run in the background (loaded at bootup, no less) thereby taking a slice of time off the processor as a start.  When the pre-determined time increment has passed (only the authors of the bots will know this), the bot makes a "call" to the hosting adbot web site and attempts to deliver what it has to the advertiser, which in turn alerts them whether or not a product they have will suit your needs (as they have arbitrarily assessed them).

I may be way off here, but about half the time i notice latency, it has to do with bots running in the background, and these bots are not the type that easily get removed by uninstalling the host software either.

Out of curiosity, do you now have or have you at any time in the recent past had any of the follwoing programs installed?

Kazaa (normal or lite)
Date Manager
Precision Time
Download Accelerator Plus (DAP)
Common name Toolbar

Hope this helps!
Ted, the Modem Mixer
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

olafurtAuthor Commented:
To guidway :
The NIC I use to connect the VPN used to be the internal one.  I changed when I got a suggestion that it could be CPU bound.  

But the internal machines connect with no problems wich points to the fact that the NIC's are not to fault.


to tedsky :
Very good Idea,   I am checking now.

olafurtAuthor Commented:

Sorry,  its still the same after numerous cleans.   It seems that Winxp is allowing the game to dominate the NIC transfer rate.  

I have tried to play after disconnecting/disabling ICS (Internet connection sharing) but it didn't matter.

The thing is that this problem was not in Win2k.  Search in the Microsoft Knowledgebase have prooved fruitless.

try running this to do an automatic network analysis of your computer. If anything fails let us know:

netsh diag gui

olafurtAuthor Commented:
Hi Guidway,

Nice command.  I'm going to tuck that one into my long term memory for future use. :)

But sorry,  All came up "Passes" or "Ok".

This only shows up in multiplayer games (and then only certain few of them)  and its only in WinXP that this is happening. Same setup (drivers/hardware/software) worked fine in win2k.

Ah, ok - wish that had solved it - must be more OS-related than what appears on the surface.
Will stay tuned, nonetheless ...
didn't see it listed before although you may have done it but did you get the latest XP updates and all for your computer from windowsupdate.com? do you have SP1 installed? I know this is basic stuff but sometimes even basics can create problems. :0)
olafurtAuthor Commented:
Yes, Like a tourist in LA, WindowsUpdate is picked Clean.  
I have SP1 and all updates I could find.  

What gets me most is that I get the best *possible* play using "foreground program" boost and lowering the game priority.  Sounds like such an oxymoron.

Doesn't surprise me much. Remember... Microsoft Works

<grinning> If that's not an oxymoron I don't know what is. Anyway, I'm still looking...
here's some interesting information concerning the difference between background services and foreground programs performance. I found it interesting nonetheless. :0)

You can use the performance options to set Windows be optimized for either foreground programs or background services. The assumptions are that background services are relatively few in number and would be more efficient with more CPU time, and that program servers or interactive programs on desktop computers would be more efficient with shorter time slices to allow them to be more responsive to keyboard input and to service more threads (many thousands on Terminal Services in Application Server mode).

The term "quantum" is a unitless measure of time for each time slice that a thread will run until a "context switch" occurs and another thread (either within the same program or from within another program) is selected to run. This prevents a CPU-bound process from monopolizing the processor. Currently in Windows, 3 quantums are equal to either 10 milliseconds (single processor) or 15 milliseconds (multiple-processor Pentium). This depends on the hardware abstraction layer (HAL) selected for your computer. Original Equipment Manufacturer (OEM) HALs may have a different value. Time slices that are fixed at 36 quantums are currently used when background services are selected (as you might choose in a typical server installation).

The situation become more complex when you enable the Foreground Applications option. This introduces the "variable quantum" concept. In this case, background tasks receive a different quantum than the quantums received by the foreground tasks. Also, both sets of quantums are shorter than a thread would receive on a computer set for background services. Currently, a background process receives a quantum of 3 and a foreground process receives a quantum of 9. Therefore, you can calculate the length of time the thread will run before its timer expires.

In addition to time slice settings in Windows, the Foreground Applications option results in a process boost of 2 over background processes. Note that this boost applies only to current thread priority, which is not visible in Task Manager. You can use System Monitor to observe the thread's current priority and see the priority boost in action. Also, remember that Microsoft Windows NT also uses additional priority adjustments (usually 2) based on other events, such as momentarily boosting a thread's priority when it returns from an I/O call, when returning from a user-mode subsystem call, or when receiving keyboard input. When the Foreground Applications option is active, the current thread priority for a running process is boasted from 8 to 12 on occasion. The keyboard boost is also the reason the process boost is limited to 2, so the other threads can respond quickly to keyboard input. This setting is applied to all process threads immediately.

None of the foregoing discussion applies to the concept of priority classes or job scheduling classes. In Windows Advanced Server and Datacenter Server, which uses Job objects to control the behavior of jobs, job scheduling classes are used only if the Background Services option is selected. Please consult the Microsoft Developers Network documentation for additional information about Job scheduling classes.

some more basic stuff to try:

go to start->run and type


go to the startup tab and disable all programs listed and reboot the computer. Try running the program again and see if you get a good connection. If so then the problem is a result of a 3rd party software application and you can use msconfig to diagnose which one.

Have you checked the event viewer just to make sure no errors are being reported? They might not be reported to the screen but being logged.
One more thing (although maybe unrelated) run the DirectX troubleshooter as stated here and see if any problems are detected:

what isp do you go through?
olafurtAuthor Commented:
I know I am being stubborn about not going back to win2k,  but that would be admitting defeat since I have no idea why this is happening.

guidway :  
I have already gone through msconfig and stripped it and cone through Windows Task manager and killed everything that does not send the machine in the "The machine will reboot in 60 seconds due to process XXX dying unexpectedly"

I doubt its the HAL,  remember that this hardware config works flawlessly with win2k.  
And I expect I would find posts on the internet if this was a normal thing for WinXP to do with the VIA chipset.  I am not seeing all the average Counter-Strike player going "hmm,  this must be a priority threading issue" and never having to ask about it.  But I have found nothing on  either MS technet or Google about NIC's VPN and foreground/background priority + MP games such as Half-life, Quake, quake2, ...

I have gone through all the dxdiag tests but the games in question are OpenGL games using their own TCP stack for connecting.

I doubt its the ISP,  I have a plain ADSL PPtP VPN connection at 1.5Mb speed.  I have a fixed IP number and therefore connecting outside of all the ISP firewalls and proxies.  And this same connection works fine for computers that are within my intranet.  Its only the Hub machine (the one that connects and shares) that is running into this.
But one thing,  if I start to play the machines in the intranet will timeout.  My machine seems to hog all available bandwidth ignoring requests from other machines (running the game in normal priority).
olafurtAuthor Commented:
Anyone ?

My apologies but I'm out of ideas. This sounds like one of those Microsoft problems that only a reinstall will work. I'm ok if you want to have this question deleted and points refunded. Sorry I couldn't provide a solution to help. :0(
XP is an odd creature.

It uses a lot of resources when communicating via network.  You must find the balance between running the game and allowing it to communicate.

Also, check other serivces, disable performance logs, and def. only use one lan connection.

btw, IM me at davidylin and we can discuss the issue further.  don't really feel like sitting here and typing out a whole manual on this stuff
try creating a new user for xp, call it test. then install one of your games and see if that works.

i installed 007 nighfire an all went ok untill one day i could not get servers.

what i done is went into document and settings, goto tools >> folder options >> view and show hidden files and folders..

have a look to see whats there. look in local settings...

This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Post your closing recommendations!  No comment means you don't care.
Pete LongTechnical ConsultantCommented:
No comment has been added lately (10 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:

Please leave any comments here within 7 days.

-- Please DO NOT accept this comment as an answer ! --


EE Cleanup Volunteer
Question is PAQ'd and no points refunded.

Community Support Moderator @Experts Exchange

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 8
  • 6
  • 3
  • +5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now