Jump to content
Official BF Editor Forums

BF2 vanilla lag driving me crazy


Recommended Posts

Hello friends : )


I have an issue with Battlefield 2 for many years now. The game runs smooth at the beginning, but after a few minutes I start getting huge desync. When I strafe, my model will get pushed a little bit more after I stop. Strafe shooting will miss because of parallax error. Movements feel heavy and unresponsive. Sometimes I press the jump key and it will take nearly half a second until the model jumps. This will be worse if I give a lot of input. If I stand still it gets better. Now the weird part: If I alt+tab or if I lock the fps to 1 for a few seconds and relock it to a playable value, it will get better. When I tab back into the game or unlock fps, player models will jitter (interp reset, I guess). Then the game is smooth. I can do it a couple of times but the effect wears off. After a while it doesn't work anymore and I have to restart the game. Sometimes I alt tab enough and the game becomes smooth and stays like that. The problem will sometimes completely be gone in the middle of the night. I suppose this is either because there is less strain on the internet or we are dealing with an electrical problem or it is the game. Getting into Windows tweaking has mitigated my problem, but I still get it. The problem exists both on Windows 7, Windows 8.1 and Windows 10. I have tried many, many, many things. First got into tweaking net settings. This was my trip into the rabbit hole and I tried a lot of fixes. Nothing got rid of the problem. I talked to people that mod the game and they said it has to do with interpolation, however, not everyone in my community has it. People with stable internet and minimal jitter (NL, NOR, SWE) claim to not experience it. It will also be much worse for me on certain servers (Not connected to ping, which is max 25). I have asked many people and nobody could really help.

I have also moved places a couple of times and the problem persisted. Others I talked to, say they changed ISP multiple times without effect.

My system:

16 GB DDR3-2400 CL 10
GTX 970
144 hz monitor

Would be really grateful if you had any ideas

It this point I feel pretty lost, tbh.
Maybe someone here can give me a small hint, anything. A way to pinpoint the problem.


Thank you so much, Manekk (and the remaining community)


PS: Sorry for the weird formatting. No idea how to fix it.



Edited by Manekk
Link to comment
Share on other sites

  • 2 weeks later...

If the issue is low fps, then try setting your nvidia graphics card to load with Battlefield 2 from the NVIDIA Control Panel.

For online play, to prevent random jittering it's better to play only on ethernet and not wifi. Wifi is ok for the most part, but sometimes you get lag.

Could try updating WIFI/Ethernet drivers and maybe switch from the Punkbuster app system to Punkbuster service (Although to be honest it's outdated).

Link to comment
Share on other sites

  • 5 months later...

The formatting is because you pasted from Discord and this board supports rich formatting, you solve it by pasting first in Word without formatting and then copying it here again, deleting the extra line feed (if you paste in Notepad the app won't be able to read the line feeds properly because they use linux-type line feed without carriage return, so you either need an advanced text editor like JEdit or go with MS Word paste options). Actually scrap all that, the board seems to recognize rich formatting and prompts to paste as plain-text when you put the formatted text in the reply box, works with Discord too.

Regarding the problem, the previous user commented very basic suggestions that I'm sure you have already tested and re-tested by now (knowing your struggle to solve this), but it made me come to mind of an old post on the battlelog forums about relaxing the interval of the Punkbuster client checks in order to have less lag I think it was (improves latency reduction). 

Some time in 2015, Jeff (aka BigDaddyJAX) said:

Hi all,

some of you may remember this simple little tweak from way back, but I'll post it anyway for those who haven't heard of it. This tweak will change the default interval time that PunkBuster uses to check your hard drive from 20 ms to 500 ms. This should help improve performance during game play. Seems to work for me! Okay, here's what you do:

  1. Launch BF2 and get into a multiplayer game.
  2. Press the [`] key (called "tilde", located just below the [Esc] key on standard keyboards).
    This will open the game console in the top 1/4 or so of your screen.
  3. Now type the following. Press Enter after each line and do not enter a value higher than 500:
    PB_Sleep 500

    (image shows the first command outputs: [skipnotify]PunkBuster Client: pb_Sleep = 500 (20 to 500)
    whereas second command outputs [skipnotify]PunkBuster Client: Config File written to C:\Program Files\EA Games\Battlefield 2\pb\pbcl.cfg )

  4. The first line changes the interval time to 500 ms, and the second line writes it to the configuration file. You can easily verify your new setting by going back into the game console and typing this command, it should output 500 as the new interval:

    Alternatively you can check that a pbcl.cfg file has been generated in your C:\Users\%username%\AppData\Local\PunkBuster\BF2\pb folder (or that it has been modified, in case it existed already) with the following line: pb_Sleep 500 //[# of Milliseconds (default=250)]


In the same battlelog topic, the user ruffler quoted another bit from the fearless-assassins forum boards (incidentally they use Invision software as well), specifically mentioning the command number 4. Keep in mind this is a 2009 post so the dual core stuff at the bottom is a bit old, but it actually still applies; also the post was written for the game "ET" and not "BF2" but still, the mechanism should be the same. Commands can be issued in console but I don't know if the others can be written permanently in the pbcl.cfg file(s):

On 11/11/2009, leiburi said:

There are some settings that I have come across from Evenbalance that really helped me out, I'll give you guys my thoughts to hopefully reduce any lag issues you have. Please read the ENTIRE paragraph after the command so you know when you need to put it in and why you might need to use it in the first place.

For all of to execute these commands you will need to bring down your console by pressing '~' key which is just to the LEFT of the number 1 at the top of the keyboard (not the keypad on the right). Also, ALL commands starting with the letters PB MUST be entered manually every time you close out BF2 and re-open it.


1) /pb_lan 1 - Changing /pb_lan to 1 will make PB behave as though it is not connected to the server. This will reduce the amount of data you need to send between you and the server. This command works perfectly fine of course unless PB does find a hack on your system in which case it will ignore this command and report you for the trash you are. WARNING: Changing Pb_lan to 1 will NOT allow you to connect to a server, you must first connect, then set pb_lan to 1 (it resets to 0 after exiting the game, so it must be re-issued every time you start BF2)

2) /pb_sleep 500 - Changing PB sleep to 500 may be redundant to the first command, has to do with how long PB will rest before sending data, I always put it in for any chance at yet another possible performance gain. (it resets to default after exiting the game, *unless you follow it up with PB_writecfg command as mentioned in the first quote)

Now, if you have an issue where on PB servers you have a distinct chop every 30 seconds or 1 minute (But always in an even increment) I would try this next command.

4) /pb_system 0 - This command will change the way PB scans your memory. It was put in place to fix program compatibility issues, but fixed my lag (which I believe to be a conflict with my Anti-Spyware - Spysweeper OR Ewido) WARNING: This setting MUST be set BEFORE joining a server, However once set you DO NOT have to enter it every single time - It will retain itself unlike the other listed PB commands

Lastly... for any of you with 'Dual Core' Processors - BF2 is most definitely NOT multi-threaded. Therefore, it cannot utilize both of your "logical CPU's" at the same time. Because of this, I recommend moving BF2 to the CPU windows is NOT using for a MASSIVE increase in FPS (or at least on my machine running a Pentium D 820 - which is not an impressive dual core)

You can do this very easily, once you have the game open press "Alt + Ctrl + Del" at the same time to bring up your task manager, right click on "BF2.exe" and choose "Set Affinity" make sure "CPU 0" is NOT checked and make sure to put a check in "CPU 1" Windows will be running on the lowest number processor (usually 0) and therefore you'll now give BF2 a full CPU (in my case of 2.8 GHz dedicated)

I hope this helps some of you, but I do not certify that it will. I encourage you to read what each command does and what it effects. I use all of those commands and they solved massive lag problems I was having in ANY PB server, not just NQ. Since NQ is always running PB these commands apply directly. Thanks for reading, enjoy your games everyone!


Edited by S_h_a_r_k_93
Fixed first quote heading
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...