NS2 Bi-polar frame rate.
DemoNn
Montreal Join Date: 2014-02-28 Member: 194432Members
Greetings all! Love the game design and concept of NS2... not too crazy about the engine. Maybe you guys can help me get past my excessive frame rate drops so I can better enjoy the game. I'd be super grateful!
I built a new computer about 2 months ago:
i5 4670k
8 Gigs of RAM
and two GTX 760s running in SLI
Windows 7 Ultimate x64
Most of the time (when running around with my marine buddies) my frame rate is well above 100 (usually between 130 and 170), but as soon as we enter a battle (depending on the number of players), my frame rate can drop all the way down to the 50s. I'm playing at the lowest possible in-game quality settings (almost) and at my monitor's native resolution of 1080p (required for 144hz). My NVidia settings are also set to "best performance." .... The great majority of the time (almost always) r_stats is giving me 0ms for waiting on the GPU, so that tells me my CPU is the bottleneck. Is this normal? My CPU's not THAT bad is it?
I've also tried overclocking my CPU to 4.5ghz... This gives me about a 20% increase to my frame rate. Do I need to get a new CPU? Because I'll probably do it, as I really enjoy playing NS2. Secondly, what CPU do I need to get in order to maintain a steady 140+ frame rate?
Are there any tests or logs I can post to help my case?
Thank you all who took the time to read my post. I really hope we can figure this one out.
Thanks again,
DemoNn
I built a new computer about 2 months ago:
i5 4670k
8 Gigs of RAM
and two GTX 760s running in SLI
Windows 7 Ultimate x64
Most of the time (when running around with my marine buddies) my frame rate is well above 100 (usually between 130 and 170), but as soon as we enter a battle (depending on the number of players), my frame rate can drop all the way down to the 50s. I'm playing at the lowest possible in-game quality settings (almost) and at my monitor's native resolution of 1080p (required for 144hz). My NVidia settings are also set to "best performance." .... The great majority of the time (almost always) r_stats is giving me 0ms for waiting on the GPU, so that tells me my CPU is the bottleneck. Is this normal? My CPU's not THAT bad is it?
I've also tried overclocking my CPU to 4.5ghz... This gives me about a 20% increase to my frame rate. Do I need to get a new CPU? Because I'll probably do it, as I really enjoy playing NS2. Secondly, what CPU do I need to get in order to maintain a steady 140+ frame rate?
Are there any tests or logs I can post to help my case?
Thank you all who took the time to read my post. I really hope we can figure this one out.
Thanks again,
DemoNn
Comments
You already have one of the best CPUs for this game and on the market. So in other words, unless you do extreme overclocking you won't get that framerate. A new CPU won't do much, only at stock speeds you'd see a minor increase.
Might want to mess around with disabling SLI or trying different profiles. NS2 has never been perfect in regards to SLI.. (not that SLI itself has been without issues, either)
Some good tips here:
http://forums.unknownworlds.com/discussion/132474/dx11-sli-and-you#latest
I'd be interested in seeing what is the cause of your slowdowns.
type p_logall in your console, and after you've captured some poor performing scenarios (The worst you can) either type p_endlog or quit ns2.
Try to keep it less than 15 minutes with this log running if you can.
You will find the log in your hidden %appdata%/Roaming/Natural Selection 2/ folder with a file extension of *.plog
RAR it/ compress it, then upload it on the interwebs to share with me.
This will give a per frame analysis of what is occurring for you and what is eating up your performance the most.
Disabling SLI is not a good idea, would actually rediuce his framerate. Do you play in DX11 or DX9? With SLI, the 327.23 driver, and a custom SLI bit for DX22 I get a higher framerate than in DX9 (the latest Nvidia driver has problems with DX11 SLI in NS2, do not use it unles you are DX9).
Like everyone here said though, this game is insanely CPU hungry. Not much to do about it.
Running CPU @ 4.5Ghz, using dx9, SLI enabled.
Also, CPU load seems to be evenly distributed amoung the 4 cores... so instead of having, like, 2 cores at 100% usage when playing NS2, I have 4 cores fluctuating around the 50% mark... so my 50% of my CPU is idling, doing nothing, unfortunately... Is this a Windows 7 thing? I wonder if dedicating 2 cores to NS2 would help, and how would I do that, if even possible?
Also my 2 GPUs are usually around the 65% usage level, unless my frame rate is well above 100, in which case they will be in the high 90s, almost 100%.
Would be cool if we could choose to have the PhysX processing handled by one of the GPUs. This, I think, would greatly free up our CPUs, and in turn, loosening the bottleneck. In the NVidia Control Panel, choosing your GPU to process PhysX does nothing for NS2. The CPU is still used instead.
IronHorse, lemme know if you see anything fishy in that log!!! There's gotta be somethin'....... Thanks again!
Just loade dup the game multiple times to make sure. And Nvidia control panel is reporting the game is using CPU physX. The game reports that the dispatcher is sent to the GPU, but the overlay reports CPU usage.
I then loaded up a different game with GPU physX to make sure the overlay was not broken, and indeed, it said GPU.
GPU PhysX seems to be busted in NS2.
This is a look at your overall performance.. as you can see there are two things to note, there are occasional spikes and there is also poor performance at the end.
Looking at the spikes, it shows that files are being opened quite a bit.
What hard drive do you have this on and is it the same as your OS and pagefile? Hows the health of your HD?
Looking at the poor performing areas in detail and comparing them to the typical / first portion shows that it's simply the rendering (gpu) being stressed and taking a huge percentage of the operation for every frame. When expanding that tree beyond "RenderScene:InternalRenderer" to expose the ~60% usage and how it breaks down.. it really didn't show anything important other than what i surmised in the previous sentence.
Long story short: It's due to your graphics cards. In one way or another.
Because of this, i think what i said before should still be tried:
You should attempt disabling SLI and compare the results.. for better or worse. FPS *will* suffer, but you may gain something else, I know i did when i used to use SLI setups.
Also, after you try this i do believe that there's an issue with the default SLI profile being used by NVIDIA for NS2.
@Dictator93 has more accurate information on which to use, i believe. I suggest you try a different SLI profile setup and again compare the results.
Lastly, double check that every thing is running as should be, to include clocks etc with the free program, GPU-Z
In the endgame my fps drop to 70 or 80.
So far I don't really understand what is included in the profilers rendering section. Is that really just stuff done by the gpu or also by the cpu (like processing rendering related data before sending it to the gpu)?
I have done some tests yesterday on an empty server in falls on biodome (because there I used to experience worst fps whenever playing).
The importand system specs are probably just: i7 2700k @ 4.5 GHz and GTX 570.
Settings were 1920x1080 with every graphics setting on low.
With this almost all the time per frame is spend for rendering (up to 7 or 8ms leading to approx. 120fps) and r_stats shows 0ms waiting on gpu and renderig thread.
Lowering resolution didn't change anything on this numbers. I have then tested to artificially lower my cpu performance wich gave me higher times for rendering.
The only thing that made me wait for the gpu was turning ambient occlusion to high. With that r_stats shows waiting about 3-4 ms for the gpu wich results in rendering times of about 10-11ms leading to less than 100fps.
So my assumption from this was that I am not limited by the gpu (except when turning on AO) and that the rendering in the profiler is the overall time spent on rendering by cpu and gpu. Is that correct?
If you have 0 ms waiting for GPU and yet are seeing rendering take up the highest percentage in profile - i would want to see a screenshot of it to be sure - but i would say that you hit the nail on the head.
Feel free to go to falls again and type profile in the console and then use the spacebar to pause it, the arrow keys to select the worst performing frame at the bottom of the screen, and then click the tallest horizontal purple bars to expand what is taking the most time to process. Then take a screenshot of this and post it here.
1920x1080, AO high:
All 4 threads:
With detailed info for rendering thread:
My HDD is actually an old 160GB SATA! The OS is also on this drive, but not the pagefile. I noticed there's a new "Extra Pre-Caching" (or something like that) option in NS2. I'll try enabling that to see if it helps with the spikes. Otherwise I can just buy an SSD.
As for the general poor performing areas.... Yes, I'll disable SLI and compare. Can I get a perfAnalyzer program like the one you have? not sure if the one I found from perfanalyzer.net will work. Gotta try it when I get back to my desktop computer. Will download GPU-Z as well, thanks.
I won't be able to get back on my gaming rig until the weekend after next, unfortunately *super sad * but I'll definitely post my results as soon as I have them.
I feel we are making good progress here! Thanks again, IronHorse.
Have a good weekend.
I suggest buying the SSD.. they have come down now in price and is what everything is moving towards (TB HDs are still useful for storage, however) and you will notice a difference using it, especially if its what you are running your OS and NS2 on. Remember that you can install NS2 on a separate hard drive too, if you want to put it on your SSD while the rest of the games sit on your storage drive.
That perfanalyzer comes with NS2
Look in NS2/Utils folder
You'll need python installed first, (its free) and be sure to read the readme or you'll be lost, hehe (protip: click the timeline and not the image to zoom on the graph, only click the image/graph when you are ready to inspect a small portion.. then wait 15 seconds)
Can't wait to see what you discover.
@Anzestral
We already spoke on steam and found out what was going on but just for records sake for everyone else tracking here:
It was in fact the CPU bottlenecking him, and the time that it takes for the CPU to pass on the info to the GPU is an acceptable 6 ms..
So he can increase his visuals a bit and maintain the same FPS as long as he is using that CPU.
Also, since you do have SLI. Shoot me a PM. We should work out together how to get that best running on given your specs.
I am still using the old SATA1 HDD... however, I ordered a Samsung 840 Pro. Expecting it to arrive in a week or 2. Would be cool if I could see the difference in the plogs... maybe I can create a plog of a recorded demo (the same recorded demo) before and after the new drive install.
The Extra Pre-Caching option is like night and day. What a difference! Thanks again IronHorse. I would have never even tried the option if it weren't for you.
I still want to play around with the SLI configuration... see if I can squeeze some more FPS out of it. I'll keep you posted.
Dictator93, sending you a PM now.