NS2 Performance on my PC
Mikeriek
Join Date: 2012-03-06 Member: 148270Members
Hey guys, preordered the game yesterday and really enjoy it.
However, my fps is stuck around 15-20 as Marines and 20-30 as Aliens. My PC is by no means great, but from the "predicted requirements" (yes I know they're predicted, but they're really awful) I've seen for the game, I feel as if it should be handling better...
Specs:
Quad Core CPU @ 2.33 GHz (Intel Q8200)
Nvidia GTX 550 Ti
4 GB Ram
I run the game at 1440x900, but I noticed the fps isn't really changed at all when I lower the resolution and/or the graphics quality.
Is the simple answer to this question that the game is still in beta and not optimized? or is my PC worse than I thought?
However, my fps is stuck around 15-20 as Marines and 20-30 as Aliens. My PC is by no means great, but from the "predicted requirements" (yes I know they're predicted, but they're really awful) I've seen for the game, I feel as if it should be handling better...
Specs:
Quad Core CPU @ 2.33 GHz (Intel Q8200)
Nvidia GTX 550 Ti
4 GB Ram
I run the game at 1440x900, but I noticed the fps isn't really changed at all when I lower the resolution and/or the graphics quality.
Is the simple answer to this question that the game is still in beta and not optimized? or is my PC worse than I thought?
Comments
By the way, that CPU is 4 years old (I have a similar one). I would have never expected a computer to last this long, so I wouldn't even be surprised that it can't run a recent game from 2012, even if NS2 admittedly has it's own very special problems.
r_shadows false
r_instancing false
r_bloom false
r_atmospherics false
Don't expect miracles, but it should squeeze out a few extra fps for you (though, you'll have to reenter the commands every time the server changes maps).
yes
by release expect maybe 10 extra fps
By the way, that CPU is 4 years old (I have a similar one). I would have never expected a computer to last this long, so I wouldn't even be surprised that it can't run a recent game from 2012, even if NS2 admittedly has it's own very special problems.<!--QuoteEnd--></div><!--QuoteEEnd-->
I have a Q9450 (overclocked to 3,2 Ghz though), and I can still run most games maxed out without any problems. NS2 however barely even utilizes half of my CPU according to the windows CPU usage, so there definitely is a problem somewhere. Is the game still lacking proper multithreading since GHz matters so much? Or is it because the majority of the gameplay code is in Lua? Or maybe both? :V
I'm still waiting for Ivy Bridge before upgrading, they keep delaying it goddamn it.
I'm still waiting for Ivy Bridge before upgrading, they keep delaying it goddamn it.<!--QuoteEnd--></div><!--QuoteEEnd-->
So the Windows Task Manager (which I presume is what you're using to check CPU usage) is a bit misleading in this respect, as afaik the % value under the CPU usage bar displays consumption as a weighted average of each cores individual usage. For example, on your Q9450 (quad-core), if one core had 100% usage and the other three had 0% usage, task manager would say that CPU usage was 25%.
What happens with NS2 is that it mostly uses 100% of one core and a little bit of a second core (some operations are multithreaded). If you looked at CPU usage by core, you'd probably see something like core0 at 100%, core1-3 at some lower or zero value that averages out to the total CPU usage of ~50% (Windows + other background programs are making up the rest of the CPU consumption).
You can try setting NS2.exe affinity to one of your lesser used cores, but that's about the only option you have (outside of disabling some graphic options via the console) to improve performance on your end.
To quote someone with a lot of programming experience:
<!--quoteo(post=1910640:date=Mar 6 2012, 10:32 PM:name=player)--><div class='quotetop'>QUOTE (player @ Mar 6 2012, 10:32 PM) <a href="index.php?act=findpost&pid=1910640"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->The bottleneck is the game-logic, which is an inherently single-threaded ordeal, coupled with the fact that it is written in Lua, which is very much a single-threaded scripting-language (although with some limited concurrency support).<!--QuoteEnd--></div><!--QuoteEEnd-->
Yeah, I'm aware of this, although I think Windows somehow actually manages to spread tasks in a single thread over multiple cores somehow. Here's me sitting in the ready room and running around mineshaft for a moment:
<img src="http://dl.dropbox.com/u/14597902/cpu.png" border="0" class="linked-image" />
You can see that the load is actually spread across all cores, but the load on all of them is almost identical but as a result it almost never goes over 50% per core. I see the same thing all the time in other games that have next to no multithreading, like really old games that were programmed with a single core CPU in mind, while a game like BF3 actually manages to hit around 90% on every core sometimes.
I might be talking out of my ass right now since I have little to no experience on how Windows handles threads, but that's the best I can come up with.
So do you recommend locking NS2's affinity to one core for those with FPS issues?
Enough to justify splitting the main thread between 4 different cores?
Switching it to one core dropped my frames by almost 50% like I expected looking at the first graph, 48 -> 25~, having it on two cores resulted in around 35-40 fps and on three cores the FPS was almost identical to the one on four cores. So in my case there doesn't seem to be any advantage in changing the cpu affinity.
Maybe it's slightly different in situations where the CPU is used much more, but I wouldn't know.
Now see, THAT makes sense.
i love this guy's ability to tell the future??
I play on a much much worse GPU and the same cpu as you
I get 45fps but at low res
Try 1280x720
./menumod/autoexec/
You can put scripts there to be autoexec on connection to server,
for instance i have the file lowres_connected.lua which contains:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>Shared.ConsoleCommand("r_bloom false")
Shared.ConsoleCommand("r_aa false")
Shared.ConsoleCommand("r_atmospherics false")
Shared.ConsoleCommand("r_shadows false")
Shared.ConsoleCommand("r_fog false")
Shared.ConsoleCommand("r_shadowsfade false")
Shared.ConsoleCommand("r_instancing false")
Shared.ConsoleCommand("r_flash false")</div>
and it gets executed on every server connect for me, i just have to optionally do r_fog 0 on each death.
Also nice that there are examples there that will autoopen server browser too for you.
That better be a joke. i would expect at least +100 or 200 fps on my computer. This game is nothing to run, a few rooms and some corridors.
skyrim, bf3 run at over 100fps on ultra settings, its no where near as demanding as those two games.
skyrim, bf3 run at over 100fps on ultra settings, its no where near as demanding as those two games.<!--QuoteEnd--></div><!--QuoteEEnd-->
The infrastructure behind those games is inherently different. The extreme modability of NS2 comes at the cost of performance. Whether we like it or not, we might have to put up with bad performance (compared to other games). Hopefully it can get to a point that is at least acceptable to most people for release.
skyrim, bf3 run at over 100fps on ultra settings, its no where near as demanding as those two games.<!--QuoteEnd--></div><!--QuoteEEnd-->
it's not a joke
since september myself and many other people have seen maybe a 5-10 FPS increase. according to that trend, and that no more than 6 months are left in development, at 1.0 don't expect more than 10 extra FPS.
since september myself and many other people have seen maybe a 5-10 FPS increase. according to that trend, and that no more than 6 months are left in development, at 1.0 don't expect more than 10 extra FPS.<!--QuoteEnd--></div><!--QuoteEEnd-->
Well thats a shame, i dont see anyone having a very memorable time playing at 30fps...
./menumod/autoexec/
You can put scripts there to be autoexec on connection to server,
for instance i have the file lowres_connected.lua which contains:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>Shared.ConsoleCommand("r_bloom false")
Shared.ConsoleCommand("r_aa false")
Shared.ConsoleCommand("r_atmospherics false")
Shared.ConsoleCommand("r_shadows false")
Shared.ConsoleCommand("r_fog false")
Shared.ConsoleCommand("r_shadowsfade false")
Shared.ConsoleCommand("r_instancing false")
Shared.ConsoleCommand("r_flash false")</div>
and it gets executed on every server connect for me, i just have to optionally do r_fog 0 on each death.
Also nice that there are examples there that will autoopen server browser too for you.<!--QuoteEnd--></div><!--QuoteEEnd-->
OMG i love you, wanna have babies?
im gonna try this when i get home =)
exactly what i been lookin for for a while