Frustratingly low FPS only when action gets thick
joederp
Join Date: 2012-11-02 Member: 165992Members
I've read lots of threads about bad performance, but mine only seems to get crappy when the action gets intense, which obviously is the worst possible time for it.
With r_stats 1 My FPS sits at about 80-90 at an idle in the ready room. In game with lots of friendly players running nearby it drops to about 30-50 , still playable. Enter a couple enemy players, some gunfire etc and suddenly it drops to 5-15, making the game essentially unplayable.
I am fairly tech savvy and a PC gamer for 15 years now so I know my way around improving poor FPS and nothing seems to help. I get the exact same FPS at the highest possible detail vs the lowest possible detail. 1600 x 900 with all settings ON had the same results as 1280x720 with all settings OFF.
PC specs:
AMD phenom quad core @ 1.8 ghz (I've monitored CPU use in the background using resource monitor and all 4 cores sit around 40-60% so I do not think this is the problem)
Radeon HD 6850 1gb
Asus mobo
8gb ram running dual channel aka "ganged"
80gb SSD running windows & page file , 500gb 7200 rpm IDE secondary drive holding Steam apps
Running r_stats shows my GPU wait is always 0-1 ms , while my render wait is 0-7ms. Video memory used with high texture detail was 1048 mb so i lowered that to medium which brought it down to 480, so I know I'm not maxing out my video ram.
Any help would be greatly appreciated as I love this game and I try to deal with the horrible FPS during a battle but its just so incredibly frustrating to be so useless to my team, I can't track / hit anything when this happens.
With r_stats 1 My FPS sits at about 80-90 at an idle in the ready room. In game with lots of friendly players running nearby it drops to about 30-50 , still playable. Enter a couple enemy players, some gunfire etc and suddenly it drops to 5-15, making the game essentially unplayable.
I am fairly tech savvy and a PC gamer for 15 years now so I know my way around improving poor FPS and nothing seems to help. I get the exact same FPS at the highest possible detail vs the lowest possible detail. 1600 x 900 with all settings ON had the same results as 1280x720 with all settings OFF.
PC specs:
AMD phenom quad core @ 1.8 ghz (I've monitored CPU use in the background using resource monitor and all 4 cores sit around 40-60% so I do not think this is the problem)
Radeon HD 6850 1gb
Asus mobo
8gb ram running dual channel aka "ganged"
80gb SSD running windows & page file , 500gb 7200 rpm IDE secondary drive holding Steam apps
Running r_stats shows my GPU wait is always 0-1 ms , while my render wait is 0-7ms. Video memory used with high texture detail was 1048 mb so i lowered that to medium which brought it down to 480, so I know I'm not maxing out my video ram.
Any help would be greatly appreciated as I love this game and I try to deal with the horrible FPS during a battle but its just so incredibly frustrating to be so useless to my team, I can't track / hit anything when this happens.
Comments
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec--><b>System Requirements</b>
Minimum:
Processor:Core 2 Duo 2.6 ghz<!--QuoteEnd--></div><!--QuoteEEnd-->
As a tech savvy person you should realize that your CPU is severely underpowered for this game.
To explain a bit more: The game can not magically use 4 cores 100%. Parts of the game need to be specifically programmed to use more than one core efficiently (which is <b>not </b>an easy task) and some parts are simply <b>impossible</b> to code like that. You cannot run code in parallel if it specifically requires to be executed in succession.
NS2 craves for CPU clock speed and not much else. With a decent GPU you will almost always be CPU bottlenecked.
To explain a bit more: The game can not magically use 4 cores 100%. Parts of the game need to be specifically programmed to use more than one core efficiently (which is <b>not </b>an easy task) and some parts are simply <b>impossible</b> to code like that. You cannot run code in parallel if it specifically requires to be executed in succession.
NS2 craves for CPU clock speed and not much else. With a decent GPU you will almost always be CPU bottlenecked.<!--QuoteEnd--></div><!--QuoteEEnd-->
My CPU is "severely underpowered" even though it rates higher than a core 2 duo 2.6 on every type of performance test? And I understand the constraints of multi-core processing. What I don't get is why no single core is even near 100% utilization. Consider two processes, A & B. B is dependent on the result of A. If as you say, process B is waiting for process A to finish so it can execute, then whichever core is working on process A should be at >90% cpu cycles while the core that has been assigned B is waiting or at a lower utilization. . So if I saw one core at 90% and the other 3 at 40-60%, then what you are saying would make more sense. But that's not the case, I see all 4 cores sitting around 60%.
Also even when I go into the options and disable multi-core rendering the game acts the same, although I'm not sure if its referring to using multiple GPU cores or CPU cores.
You cannot expect much performance wise in this instance, i am sorry.
You would see great gains if you increased by a whole 1 ghz.
You cannot expect much performance wise in this instance, i am sorry.
You would see great gains if you increased by a whole 1 ghz.<!--QuoteEnd--></div><!--QuoteEEnd-->
I agree with you, but two thoughts come to mind.
1.) 2.6 ghz core 2 duo is a pretty beefy 'minimum' CPU. Is there no way to reduce the demand on the CPU? Either through my own settings or through devs making code more efficient?
2.) If the minimum CPU would get you 5 FPS, is that really a suitable minimum CPU suggestion? Why not raise it up to where you get at least 20fps? IMO the game is unplayable like that, the minimum should be revised, because if someone buys the game thinking they can play it with that CPU, they will be let down. (this guy)
I'm working on OCing right now, sofar up to 1980mhz and its helped slightly. But I know if I want truly smooth gameplay I will need to upgrade and as we all know that means a new Mobo, cpu, & ram.. really did not want to upgrade yet..
Also even when I go into the options and disable multi-core rendering the game acts the same, although I'm not sure if its referring to using multiple GPU cores or CPU cores.<!--QuoteEnd--></div><!--QuoteEEnd-->
1 thread can be worked on by more than one core, but it will still be capped to 25% cpu usage. So if you have a single threaded program that is using as much cpu as it can possibly use, the average cpu usage will be 25% and all 4 cores should show 25% cpu usage.
Can you cite your source? I'd like to read more to understand why it would be capped to 25%.
Imagine doing a simple calculation. There's a guy who likes mental math, so you give him a number and he then adds 1, mutliplies it by 2, subtracts 2 and finally divides by 2.
Now imagine 4 guys and give each of them one of the instructions, i.e. the first guy takes the number from you and adds 1, then tells his result to the second guy, he multiplies it by 2 and gives the result to the third guy, and so on. Unless one of the guys is faster at mental math, it will not be faster than just one guy doing the calculations as everyone has to wait for the guy before them to finish. 3 guys will be idle while waiting for the fourth to make his calculation, so only 25% of the guys are actually doing something.
Can't find technical documentation on Windows's single thread migration right now.
Now imagine 4 guys and give each of them one of the instructions, i.e. the first guy takes the number from you and adds 1, then tells his result to the second guy, he multiplies it by 2 and gives the result to the third guy, and so on. Unless one of the guys is faster at mental math, it will not be faster than just one guy doing the calculations as everyone has to wait for the guy before them to finish. 3 guys will be idle while waiting for the fourth to make his calculation, so only 25% of the guys are actually doing something.
Can't find technical documentation on Windows's single thread migration right now.<!--QuoteEnd--></div><!--QuoteEEnd-->
I understand your logic, but what I don't understand is why other games don't seem to have a problem achieving high CPU utilization (75-80%) across the board. Or some other games like CS:GO will have 1 core at 90% and the other 3 at 70%-80%. Those situations make sense. But to have this game with all 4 cores at 50% -60%, it seems like NS2 just isn't capable of taking advantage of multiple cores as well as other games.
Speaking of CS:GO, that game runs at 80-120 fps on my system. It looks every bit as good if not better than NS2 so I don't get why NS2 is so much more demanding on the CPU. I would dare to say it wants double the CPU power for a game of very comparable graphics. Hopefully it will become more efficient in future patches but by then I will have upgraded my CPU anyway.. this game is too much fun..
Holy crap.. what video card do you have? If an i7 2600k cant handle this game wtf can? I hope youe GPU is weak because I am looking at buying a 3.5-4.0 quad core setup right now so that I can eliminate the lag when I get in a game-ending battle with every player in one base.
Look at the rig in my signature.
I have issue, on the lowest settings, maintaining 60FPS. No other game is like this. BF3 I run @ 2560 x 1440, with 2xAA and everything maxed out, with over 100FPS. Granted, they have a huge, experienced Team, and a lot more money, but still, they're competing in the video game market.
2. CS:GO's engine was not developed by 1 (one) person.
2. CS:GO does not use Lua for game logic code. Using Lua was a conscious decision to enhance the workflow (very important for small teams) and to make almost everything in the game moddable with ease.
4. Lua is inherently single-threaded and slow due to being runtime-compiled. Most game logic is not even possible to be parallelized.
5. NS2 is mostly bottlenecked by Lua performance unless you have a pretty old graphics card.
What multithreading you see in other games is mostly present in NS2, too. It's just that one thread has so much more to do than in other games that you do not really see an impact from the other ones.
5. NS2 is mostly bottlenecked by Lua performance unless you have a pretty old graphics card.<!--QuoteEnd--></div><!--QuoteEEnd-->
Does this mean that there is no room for any real improvement in game speed and the only way to ever run it is to have a high end machine?
I have said high end machine and it doesn't run that well either, not even using half my GPU or CPU power and getting sub 60FPS.
There is always room for improvement. Devs are constantly working on it. There have been small steps every patch and a few big ones in some. There are still some possibilities for big improvements, it just all takes time.
I can appreciate there are a lot of old hands around here who unlike me followed development loyally from the half life 1 mod, to today.
But when you've paid for a product you can barely use, and what you can use is frankly teasing you half the time (oh I see your immersed in a cool situation as a skulk... hmm, FPS LAG! your dead har har). You have to appreciate 'wait'. Is not really an acceptable answer. I waited patiently till the game was released as 1.0, then I bought it.
I did not sign up to a paid open beta. I paid for a game.
I'd be overjoyed if the dev's simply noted 'Yeah ######, we know about this. We are looking at it'. So far, nowt and its affecting a whole slew of people and it is in no way reducible to some people simply having inadequate builds (the idea this is only playable <u>properly</u> on plus 3ghz multicores with 6 gigs of ram and better than gt450's gpu's is well... simply bad microeconomics). This thread for example lists a range of people having similar problems. <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=122689&st=0&start=0" target="_blank">http://www.unknownworlds.com/ns2/forums/in...t=0&start=0</a>
2. CS:GO's engine was not developed by 1 (one) person.
2. CS:GO does not use Lua for game logic code. Using Lua was a conscious decision to enhance the workflow (very important for small teams) and to make almost everything in the game moddable with ease.
4. Lua is inherently single-threaded and slow due to being runtime-compiled. Most game logic is not even possible to be parallelized.
5. NS2 is mostly bottlenecked by Lua performance unless you have a pretty old graphics card.
What multithreading you see in other games is mostly present in NS2, too. It's just that one thread has so much more to do than in other games that you do not really see an impact from the other ones.<!--QuoteEnd--></div><!--QuoteEEnd-->
I appreciate your response, its clean logical and unbiased and best of all you didn't take the opportunity to insult me asking the question =)
What you say does make sense, I actually didn't realize only 1 guy made the gfx engine. That is actually very impressive.
Other games do have AI and structures, CS:GO has AI and TF2 has structures but it sounds like the real issue is the Lua logic code. I just wake up every day hoping to see a NS2 patch that says "... made some code more efficient to reduce CPU strain.. " or '..added options to disable X to reduce CPU load" .. I realize this is asking a lot but a guy can hope right?
In the mean time I'll be browsing the forums looking for what CPUs guys have that does not lag at all during any time .. and that is the CPU I will base my next system around!
<!--quoteo(post=2012896:date=Nov 6 2012, 06:22 PM:name=Tesseract)--><div class='quotetop'>QUOTE (Tesseract @ Nov 6 2012, 06:22 PM) <a href="index.php?act=findpost&pid=2012896"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Setting the process priority to High in Task Manager more than tripled my FPS and severely reduced network issues and other forms of slowdown. In fact just doing this meant I got smooth performance with full settings when previously I got slideshows with everything on lowest.<!--QuoteEnd--></div><!--QuoteEEnd-->
I just tried it, and unfortunately I did not see a noticeable improvement. I'll keep trying this and other adjustments and report if anything seems to help significantly.
I tried to record a log using p_logall but i cant find the log file.
Unfortunately there is currently no system that does not lag at all, as structures and infestation can be spammed all over the place and reduce FPS massively. In a room spammed full of cysts I get about 30fps on a 4GHz Ivy Bridge and an overclocked GTX 670.
I do not play much on publics but I should stay above 50fps for most of the game with 16 players. In competitive games with 12 players I generally do not drop below 60fps.
<!--quoteo(post=2014068:date=Nov 7 2012, 03:40 PM:name=joederp)--><div class='quotetop'>QUOTE (joederp @ Nov 7 2012, 03:40 PM) <a href="index.php?act=findpost&pid=2014068"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->"... made some code more efficient to reduce CPU strain.. "<!--QuoteEnd--></div><!--QuoteEEnd-->
About 2 weeks before release they decided to make a huge change that increased fps by 30% to 60% depending on the system specs. There are still possibilities for some things like that but not sure how realistic these are and how soon we can expect them.
There will be small percentage increases every patch regardless as one of their programmers is pretty much full time working on optimization. Unfortunately, optimization is a long and complex process.
<!--quoteo(post=2014068:date=Nov 7 2012, 03:40 PM:name=joederp)--><div class='quotetop'>QUOTE (joederp @ Nov 7 2012, 03:40 PM) <a href="index.php?act=findpost&pid=2014068"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->'..added options to disable X to reduce CPU load"<!--QuoteEnd--></div><!--QuoteEEnd-->
This is quite a complicated case. Most of the things the CPU does is not just "fancy" stuff that can be turned off for better performance. You cannot just "turn off" animations or collision detection for obvious reasons.
I wish they could have had more time and manpower earlier on in development because it's sad to see such a great game hindered by performance issues. Of course, they have made very aggressive decisions (i.e. Lua game code) and most likely wouldn't have these problems now with a "normally" coded game, but I can't blame them... doing pioneer work is always great excitement and the community definitely has benefited.
I think everything has already been said .. But I do wish to chime in that your system hits the minimum requirements on the nose... So I wouldn't expect much more than the 30-40 fps in the meantime, especially with bells and whistles turned on like bloom, shadows, ao etc.. :-/
Goodluck man
I think everything has already been said .. But I do wish to chime in that your system hits the minimum requirements on the nose... So I wouldn't expect much more than the 30-40 fps in the meantime, especially with bells and whistles turned on like bloom, shadows, ao etc.. :-/
Goodluck man<!--QuoteEnd--></div><!--QuoteEEnd-->
I don't expect more than 30-40, that would be fine with me if it stayed that high =) I think there is a real problem with the engine efficiency if so many high end CPUs are having the same slow downs. So while my CPU might be barely meeting minimum requirements, it would seem that even if I upgraded my CPU I would still be in this forum, posting about how to make it run smoother. So the discussion is still valid despite my handicapped CPU.
Now, on to my findings. I have played 2-3 more matches with texture steaming enabled and it has DEFINITELY helped. During heavy action with lots of infestation my FPS does drop but its not as hindering to my game play. I can still sort of aim and move around and be functional in the game at around 20-30 fps. More would be better but this is huge improvement over the 5-15 with such horrible glitchy interruptions , outright pauses during game play.
I took a few PLOGS, with the setting ON. I will turn it off and try a few more that way someone can hopefully make some sense of it.
For my own reference logs are located in C:\Users\*MYUSERNAME*\AppData\Roaming\Natural Selection 2\
Here we go.. try this .
<a href="https://docs.google.com/open?id=0B9J1zKENrPAOUkRSMVhrYWhxVGM" target="_blank">https://docs.google.com/open?id=0B9J1zKENrPAOUkRSMVhrYWhxVGM</a>
Need to paste the link directly into your browser and hit go.
Its a zip file with 3 logs. 2 full game logs, one with texture streaming on, one with it off. Then a short log where I encountered some big FPS drop during action and quit immediately after I respawned so as to isolate the delay easier.
Weird... really...