I don't understand how the game works
SomaZ
Join Date: 2011-08-09 Member: 115177Members
I'd just like some clarification on what exactly is the bottleneck in NS2, is it really CPU, GPU or perhaps something else? First of all, specs, I have a Core i5 clocked at 2Ghz and my video card is HD5470, by no means a good card, but not a horrible one either (low-mid card). RAM is 4 GB so not really an issue.
Now the question I want to ask is: What exactly is limiting the fps in NS2? I find it to have a lot of inconsistencies.
I get a huge boost in performance (pretty much double) if I lower the resolution from 1366x768 to 1024x600 or 800x400 (even more of a boost).
Changing quality settings from Awful to High makes no impact on the fps whatsoever.
Removing Bloom and Atmospherics gives me an fps boost.
One would think that the GPU is the bottleneck then? Well then why does my fps get cut in half mid-late game, even if I'm staring at a wall. Server tick rate drops and so does my FPS. Logical conclusion would be that CPU is the bottleneck then. But then when I go into the Task Manager to see CPU usage I find the load to be evenly split among 4 cores around 50-60%. The amount of frames predicted (from net_stats) also stays the same around 7-9. Basically, half of my CPU is not even being used. I mean, I would understand if a single core would spike to 100% but it was never even close to that. I have an application that is very CPU intensive and eats 100% on a core if it can so I know it's possible.
Let's get this out of the way: I know that this is a Beta and that the game will get optimized in the future. This is not why I created this thread. I created it so that someone could explain to me what is causing the bottleneck and if someone has similar experience. Just for the record, my fps is 30-40 early game and drops to 15-20 late game.
Now the question I want to ask is: What exactly is limiting the fps in NS2? I find it to have a lot of inconsistencies.
I get a huge boost in performance (pretty much double) if I lower the resolution from 1366x768 to 1024x600 or 800x400 (even more of a boost).
Changing quality settings from Awful to High makes no impact on the fps whatsoever.
Removing Bloom and Atmospherics gives me an fps boost.
One would think that the GPU is the bottleneck then? Well then why does my fps get cut in half mid-late game, even if I'm staring at a wall. Server tick rate drops and so does my FPS. Logical conclusion would be that CPU is the bottleneck then. But then when I go into the Task Manager to see CPU usage I find the load to be evenly split among 4 cores around 50-60%. The amount of frames predicted (from net_stats) also stays the same around 7-9. Basically, half of my CPU is not even being used. I mean, I would understand if a single core would spike to 100% but it was never even close to that. I have an application that is very CPU intensive and eats 100% on a core if it can so I know it's possible.
Let's get this out of the way: I know that this is a Beta and that the game will get optimized in the future. This is not why I created this thread. I created it so that someone could explain to me what is causing the bottleneck and if someone has similar experience. Just for the record, my fps is 30-40 early game and drops to 15-20 late game.
Comments
You also must realize as the game progresses more and more structures are built both from the alien and the marine team in all corners of the map, so that doesnt help performance either.
As for the thing about 50-60% CPU load, it's a fairly involved question of computer architecture. Actually, it's more about <i>software </i>architecture...read on.
It's not as simple as shoving all the game's frames through a pipe (CPU) so they come out the other side. There's a limit to how much the CPU, GPU, hard disk and so on can each do at a time. The game's code (which goes through the CPU and GPU), for instance, has a lot of different parts that have to remain in sync or consume resources that are produced by other parts. Ideally, the game would use your CPU more (resulting in higher load) and put that toward performing better. This is part of what the developers mean when they talk about 'optimizing' things. In the simple case, your CPU tells your GPU what it needs to put on the screen - in the late game when a room can have 20 cysts and 5 crags with umbra in it, the CPU has a lot more work to do than it did earlier on.
As for what's causing it on your machine, I can basically guarantee it's the CPU. 2ghz is a low clock, and because it's a mobile CPU there are other architectural differences that will limit it (things like available lanes to the GPU, memory speed etc). I play on a similar laptop sometimes and it's just as depressing. Hang in there!
NS2 is mostly CPU bound. We're only now seeing NS2 starting to use more and more of the GPU capabilities in the game. Saying that, a Intel GFX chip probably isn't going to run the game smoothly either, you need a gamer GFX card still.
Ideally right now, you'd have a second-gen i5 or i7 clocked at 3Ghz or above for best performance, however as the game gets more optimized it will run better on lower-end systems.
<!--quoteo(post=1923235:date=Apr 8 2012, 01:24 PM:name=internetexplorer)--><div class='quotetop'>QUOTE (internetexplorer @ Apr 8 2012, 01:24 PM) <a href="index.php?act=findpost&pid=1923235"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->In the simple case, your CPU tells your GPU what it needs to put on the screen - in the late game when a room can have 20 cysts and 5 crags with umbra in it, the CPU has a lot more work to do than it did earlier on.<!--QuoteEnd--></div><!--QuoteEEnd-->
To address both quotes at the same time, I've said in my OP that the fps remains low even if I stare at a wall (late game). I understand perfectly well that more stuff to draw on the screen means less fps and have considered that first but it seems not to be the case.
You also mention "Ideally, the game would use your CPU more (resulting in higher load) and put that toward performing better." and yes, that's exactly what I am expecting. If the CPU is waiting too long for sync purposes (resulting in 50% load on cores) then the program is poorly optimized from a Multi-threaded point of view (something that will definitely be fixed in the future) and is getting chocked with mutexes.
I am also quite aware that this game is very CPU demanding but I think that would be more because of the issue described above and not being utilized to its full potential rather than a sheer lack of processing power.
Oh and to clarify on the card, it's an ATI, not an intel :D As in, Radeon HD5470. And yes, I'm running on a laptop.
it's also about other things that use the CPU, and have to stay in sync with things like physics time steps (beyond just graphics)
the core of the problem is that the game code runs through a LUA interpreter, and doesn't play nicely with other parts
AFAIK, the current NS2 beta has only a bit of multithreading (i.e. some of the rendering will happen on another core), such that most of the game is running off of a single thread. Because of that, most people are being bottlenecked by their CPU clock speed, which I suspect is what is happening in your case. UWE is, of course, working on the issue all the time, but getting multithreading correct can be difficult, such that if you do it wrong, you can actually decrease game performance.
I have an AMD 965 3.4GHZ and between all wide screen resolutions set to high, I observe regular stuttering and hitching when there are lots of objects in mid to late game. Early on is nice from what I've seen.
NS1 had almost the same hurdles back in the day, but within a patch or two they were solved.
Either upgrade for a better experience (Still not perfect), or hold out for further engine optimization.
BTW, an i5 at 2ghz is ridiculous, but if you overclock you'll experience heat issues on your laptop. You can attempt to overclock a bit, but you seriously need to monitor your temperatures. I'd recommend you open your laptop, and slap down some new thermal paste, and get an air can and makes sure you clean the exhaust grill of any dust.
This is a pretty standard and easy practice. Why do you suggest he doesn't do it?
Most laptops actually come with thermal pads, which degrade over time and do not work as well as a nice new layer of thermal paste.
Most laptops actually come with thermal pads, which degrade over time and do not work as well as a nice new layer of thermal paste.<!--QuoteEnd--></div><!--QuoteEEnd-->
Because it's way easier for people who don't know what they're doing to destroy their laptops by overclocking or applying too much paste than it is for their equivalent desktop users. If the guy needs to be told how to overclock his laptop, it really isn't safe for him to attempt it, and it's irresponsible for us to advise him to.
Something worth discussion I have found is that disabling multi-threading ("r_mt 0" in console) makes no impact on the fps (at least not that I can see). Yeah I know it's "not optimized" but I was expecting at least a small drop in fps. Am I really GPU bottlenecked? Can I really not get decent fps even at 800x480 then?