Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.
Please consider supporting us by disabling your ad blocker.
Search the Community
Showing results for tags 'stuttering'.
Found 2 results
All, Within the last month or so, I've noticed quite an increase in lag/stuttering in BF3 multiplayer and decided to investigate to see what I could do on my end and pass my experiences along to others. My problem is thus: In game, with perfmeter running, I notice significant stuttering. The stuttering is worse when I'm moving in some direction then look in another direction. The number of players in the server really doesn't make much difference, and it happens in all BF3 servers I play on, but our server does seem a little worse than others for some reason. Here is a YouTube video that describes what I'm experiencing. I'm not alone in observing this phenomenon, and there are tons of threads on almost every kind of forum you can imagine that discuss folks trying to get to the bottom of this issue. I would like to know if you guys have experienced it and what you did to solve it. Here's what I've done so far... System specs in my sig. I have most eye candy turned off, FOV is 70. Avg. CPU is about 70% - 80%. Never seen my CPU go to 100% in BF3. HDD access looks normal with no signs of excessive disk access. - Clean install Win7 x64 - Latest BIOS - Stock clocks - HT disabled - C1E disabled - Virtualization disabled - Latest chipset drivers - Core Parking diabled - Latest Nvidia drivers installed - Tried two different video cards, no change in the issue - Latest NIC drivers, IPV6 diabled (unavailable in my Comcast segment anyway) - Some network stack tweaks (no effect that I could notice) - Vsync on - FPS limited to 59.95 in user.cfg (with appropriate FPS set in game, with ingame vsync on) None of these changes made any real difference... the underlying issue is still there. As far as I can tell, my PC is running well and doesn't appear to be stressed by running BF3 Multiplayer. I've played the game since the beginning without any problems, until recently. I really don't think it's my hardware or my network. I'm going to try different games so that I have something to compare with. More as this develops. war
As most of you know, I've been on a quest lately to reduce as much as possible the lag that many of us experience while playing Battlefield 3 multiplayer. This post is one example. The good thing about this relentless pursuit of lag reduction is that many of its underlying principles can be applied to virtually any game, so the gamer's experience benefits as a whole. As a quick review, here are some of the things you can do to reduce all kinds of lag/stutter and enjoy a better overall online gaming experience. Some I'm still working on, some I don't have the required hardware to do. This isn't a complete list, but the more of these things you can do, the better off you will be. - Ensure you have a solid network hardware installation - Latest firmware on your router - Disable uPNP on both your router and in Windows - All PC drivers (including chipset drivers from your mobo vendor) are current - Limit your games' FPS to one or two FPS below your monitor's refresh rate (anything else is a waste) - Prevents wide swings in FPS and the stuttering that can cause - Helps your CPU and GPU run cooler - Reduces/eliminates screen tearing (that always happens when FPS exceeds monitor refresh rate) - Have your keyboard and mouse on one USB controller, and have all other devices on a separate USB controller - Have your OS and games installed on separate physical HDDs and have those drives on separate HDD controllers - Disable useless Windows services (Black Viper has a great website, google him) - Stuff that causes crazy stuttering on my rig: - Intel Speed Step (crying in my beer over this one) - All of the "C" reports in UEFI related to CPU throttling (C1E, C7, etc.) There are many more, but that list should give you some things to consider. Now, on to teh main topic of this post. In my earlier post (linked above), I said that Punkbuster (PB) was not to blame. Well, that is only partially true. At the time, I was chasing another sort of lag and while PB had nothing to do with that particular flavor of lag, testing did indeed reveal that PB can cause a significant amount of lag under the right conditions (i.e. on my rig :( ). How did I learn about this, you ask? Well, I did a lot of research and experimenting and I was lucky enough to blunder onto a tool called Latency Monitor. There are others out there, but this one worked well for me. Using Latencymon, it was pretty obvious that pnkbstrb.exe was creating a significant amount of writing to disk (hard page faults). Some background is in order here. This topic focuses mainly on lag (latency) that originates inside your PC. Lag has two major root causes: 1) bad drivers or hardware (causes Deferred Procedure Call latency), and 2) processes that cause hard page faults (they can degrade system performance by causing excessive writing to disk). The one process on my rig that causes hard page faults (other than essential Windows process that I can do nothing about) is pnkbstrb.exe. Since PB is essential to most online gaming, I simply can't get rid of it and documentation is very sparse on how to deal with it. Well, the first thing one should do if PB is suspected of causing a problem is to make sure PB is updated via Evenbalance's website... which I did. Next, I played about 30 minutes on a non-PB server and did not see the ringing lag spike even once while in game. I also disabled both PB services in game (on a server that uses PB) after observing the spikes, and did not see the spikes reoccur before being kicked by PB. Given these things, I felt pretty confident that I had isolated the ringing lag spike... my own personal White Whale. What does a ringing lag spike look like? Well, here that bastard is... in all its naked glory. This waveform is very distinctive and is separated from normal (Internet) lag spikes by the trailing "ring" that always follows it. A normal lag spike lacks the distinctive sawtooth ringing. This particular lag spike is caused by pkbstrb.exe (on my system, anyway). Ok, now that I've isolated the ring, what can I do about it? Well, not much except pat myself on the back for a job well-done. Since uninstalling PB isn't an option, and documentation for tweaking PB is damn-near nonexistent, one's options are pretty limited. Fortunately, that doesn't mean that there is NOTHING that can be done. In fact, I feel that what little I've been able to do has made a significant impact on this lag spike, and now I'm going to share what I know with you. Digging into the PB manual and doing some research online has revealed some interesting information. PB does extensive scans of a PC's memory in order to root out hackers. By default, the PB client on your PC performs this scan every 20ms (.02 sec) and it captures screenshots which it writes to disk as well as transmits back to its server. On my system, this means that 1 of every four frames is scanned for hacks. On my screen, I see this particular lag spike every 3-5 seconds... sometimes it's just a single, sometimes it comes in trains of 2-3 spikes, then a 3-5 second gap, then the cycle repeats itself. These lag spikes don't make the game unplayable by any stretch, it's just that the brief stuttering they cause is damned annoying. That scan every 20ms is no small amount of overhead, my friends and fortunately there are changes you can make to PB's config file (pbsys.cfg) that can help reduce the impact of this lag somewhat. The tweaks for BF3: - Create a text file called pbsys.cfg in this folder: C:\Users\UserName\AppData\Local\PunkBuster\BF3\pb\ (don't forget to change the file's extension from .txt to .cfg just as you would for BF3's user.cfg file. - Feel free to use the text of my pb.cfg file. After I made the changes and rebooted, I played for over an hour on an ADK PB-enabled server without a problem. pb_MsgPrefix "PunkBuster Client" //[PB Message Prefix] pb_Sleep 500 //[# of Milliseconds (default=20)] pb_LogToFile 0 //[0=No, 1=Yes (default=0)] pb_SsLog 0 //[0=No, 1=Yes (default=1)] pb_SsSave 0 //[0=No, 1=Yes (default=0)] pb_SsOptions 640 480 50 50 1 //[- Set local PB screenshot options, default = native screen resolution] * Explanations of these variables and what they do can be found here. On my system, the net effect of adding the pbsys.cfg file and installing the variables shown was to decrease the frequency of the ringing lag spikes from every 3-5 seconds to about every 30-40 seconds. Not the ideal solution, but I will take it over getting hammered every 3-5 seconds. Well, that's about it for this chapter. If anyone has cracked this particular nut better than I have, please PM me or reply to this thread. I wanna learn at your feet, Mr. Hero. Until next time, war