I think I found a fix. Please don't flame me if it doesn't work for you or my 'theory' behind it doesn't make sense, I may have started out as a Computer Science major but I switched to Psychology. DO let us know if this helps you one way or the other so we will know to sticky it or let it die.
1) The Problem:
Like many others who own BF2 and visit these boards for help, I recently developed a problem (out of the blue) staying in servers. I'll be able to start the game, populate the server list, join a server, but ten to twenty minutes later be kicked to the server list with a "There is a Problem with your Connection" warning followed by "Connection has been Lost." Also, if I try to repopulate the server list I get nothing. If I exit the game and try to load a webpage I get nothing. My cable modem will indicate that there IS a connection and there IS throughput, but windows will give me an additional warning that "There is little to no connectivity on this connection."
My Basic setup? P4 2.8ghz with 1gig of DDR RAM, Nvidia Geforce 6800 OC, tried both onboard and PCI ethernet connections as well as disabling the unused one in the bios. My ISP is a broadband service, no router.
2) The Theory:
Someone in the many, many threads on this problem mentioned that it must be a game/pb issue as everytime it occured they pulled up the console to find a query sent to even-balance. Many have recommended manually updating Punkbuster (which I do) but it seems to have only temporary results. Some have even found that they don't have this problem when joining non-ranked, non-PB servers. This got me wondering... Why would all of us with kick @ss new PCs, many built from scratch by hand, have connection problems while running BF2?
Ok, here it is, cracked-pot or not... BF2 was DESIGNED to run in such a way as to monopolize your system resources. It places CPU priority on generating the graphic-intense environment and all related physics computations. WE designed our systems to run graphics intensive games, with our systems software-optimized to GIVE CPU priority to the game itself. My theory is that BF2, and the way many of us are running it, gives the game itself TOO high a priority on our system resources, resulting in background processes and services being given sporatic or limited time... like punkbuster.
Think about it, if you look at BF2's code (at least as far as the Python interface goes) it looks very modular. Punkbuster is a separate program run side-by-side with BF2, just like with other games. However BF2 is a mother-F*cking MONSTER who uses over 1.5 GIGABITES of system memory (RAM or page/swap file) on many people's PCs. I believe that BF2 Develeopers poorly coded the game and it's Punkbuster plug-in so that it is given, as a default, a LOW CPU priority, making your computer view PB as just a background service. As a result, when playing, any PB request gets put in a long, LONG Que that is constantly updated with more 'important' requests. Noticable effect? The PB querry is never resolved, even when retaining a connection to a game server depends on it. Even after you shutdown the game, it is STILL the highest priority internet querry and keeps your connection locked cold for a couple of minutes until the game is purged from temporary memory completely.
3) My Solution:
First, manually update punkbuster using PBWeb.exe, which is downloadable from evenbalance.com. Second, reboot. Give your system a fresh start and a chance to clear it's caches/memory. Third, download "Smartclose" and use it to close all background processes while running the game. Fourth, if you're running Windows XP do the following:
-Click Start
-Click "Settings" > "Control Panel" > "System"
-Now, Click the "Advanced" tab, then on the "Performance" button
-Click the "Advanced" tab in the new box that popped-up and change the first two radio-button settings from "Programs" to either "Background services" or "System Cache".
This makes windows prioritize background processes HIGHER than programs (such as the game BF2) in terms of Memory and CPU access. Sound insane? Yes, it does. But last night I played BF2 for four straight hours after doing this little trick.
4) Epilogue: The results
I did notice some brief periods of lag or latency, but only occationally and when some intense stuff was going on ingame. My guess is that these would have been times I'd have been disconnected before. Otherwise, the game runs beautifully.
If you followed step 3 in my fix list, you don't HAVE anything else running in the background for BF2 to be prioritized below. You've simply told the computer to run any requests sent by sub-components or background processes created by BF2 BEFORE data required by the executable itself so performance drops should be low. Most people have system specs superior to mine anyway, so I imagine they won't notice any change (Except that the game will work.
As I said, it's been a long time since I have been a serious techno-geek, and I'm tempted to say that this is all coincidence and superstition, but damn it, it WORKS for me. I hope it works for you too. If not, well, please let me know but be kind. Afterall, I've not told you to do anything to your PC that isn't instantly reversible and I'm just trying to help out my friends in the Total BF2 community. We're all in the same boat, and we all know EA isn't going to fix the problem.
1) The Problem:
Like many others who own BF2 and visit these boards for help, I recently developed a problem (out of the blue) staying in servers. I'll be able to start the game, populate the server list, join a server, but ten to twenty minutes later be kicked to the server list with a "There is a Problem with your Connection" warning followed by "Connection has been Lost." Also, if I try to repopulate the server list I get nothing. If I exit the game and try to load a webpage I get nothing. My cable modem will indicate that there IS a connection and there IS throughput, but windows will give me an additional warning that "There is little to no connectivity on this connection."
My Basic setup? P4 2.8ghz with 1gig of DDR RAM, Nvidia Geforce 6800 OC, tried both onboard and PCI ethernet connections as well as disabling the unused one in the bios. My ISP is a broadband service, no router.
2) The Theory:
Someone in the many, many threads on this problem mentioned that it must be a game/pb issue as everytime it occured they pulled up the console to find a query sent to even-balance. Many have recommended manually updating Punkbuster (which I do) but it seems to have only temporary results. Some have even found that they don't have this problem when joining non-ranked, non-PB servers. This got me wondering... Why would all of us with kick @ss new PCs, many built from scratch by hand, have connection problems while running BF2?
Ok, here it is, cracked-pot or not... BF2 was DESIGNED to run in such a way as to monopolize your system resources. It places CPU priority on generating the graphic-intense environment and all related physics computations. WE designed our systems to run graphics intensive games, with our systems software-optimized to GIVE CPU priority to the game itself. My theory is that BF2, and the way many of us are running it, gives the game itself TOO high a priority on our system resources, resulting in background processes and services being given sporatic or limited time... like punkbuster.
Think about it, if you look at BF2's code (at least as far as the Python interface goes) it looks very modular. Punkbuster is a separate program run side-by-side with BF2, just like with other games. However BF2 is a mother-F*cking MONSTER who uses over 1.5 GIGABITES of system memory (RAM or page/swap file) on many people's PCs. I believe that BF2 Develeopers poorly coded the game and it's Punkbuster plug-in so that it is given, as a default, a LOW CPU priority, making your computer view PB as just a background service. As a result, when playing, any PB request gets put in a long, LONG Que that is constantly updated with more 'important' requests. Noticable effect? The PB querry is never resolved, even when retaining a connection to a game server depends on it. Even after you shutdown the game, it is STILL the highest priority internet querry and keeps your connection locked cold for a couple of minutes until the game is purged from temporary memory completely.
3) My Solution:
First, manually update punkbuster using PBWeb.exe, which is downloadable from evenbalance.com. Second, reboot. Give your system a fresh start and a chance to clear it's caches/memory. Third, download "Smartclose" and use it to close all background processes while running the game. Fourth, if you're running Windows XP do the following:
-Click Start
-Click "Settings" > "Control Panel" > "System"
-Now, Click the "Advanced" tab, then on the "Performance" button
-Click the "Advanced" tab in the new box that popped-up and change the first two radio-button settings from "Programs" to either "Background services" or "System Cache".
This makes windows prioritize background processes HIGHER than programs (such as the game BF2) in terms of Memory and CPU access. Sound insane? Yes, it does. But last night I played BF2 for four straight hours after doing this little trick.
4) Epilogue: The results
I did notice some brief periods of lag or latency, but only occationally and when some intense stuff was going on ingame. My guess is that these would have been times I'd have been disconnected before. Otherwise, the game runs beautifully.
If you followed step 3 in my fix list, you don't HAVE anything else running in the background for BF2 to be prioritized below. You've simply told the computer to run any requests sent by sub-components or background processes created by BF2 BEFORE data required by the executable itself so performance drops should be low. Most people have system specs superior to mine anyway, so I imagine they won't notice any change (Except that the game will work.
As I said, it's been a long time since I have been a serious techno-geek, and I'm tempted to say that this is all coincidence and superstition, but damn it, it WORKS for me. I hope it works for you too. If not, well, please let me know but be kind. Afterall, I've not told you to do anything to your PC that isn't instantly reversible and I'm just trying to help out my friends in the Total BF2 community. We're all in the same boat, and we all know EA isn't going to fix the problem.
:laugh: :laugh:
that's the same name as I chose for mine, spooky :)
Comment