game runs choppy on large maps

hello,

i've been enjoying sins for about a week now and just started playing medium and large maps yesterday.
the game runs very smooth on small maps even with large fleets (150+ ships) and enhanced graphics mod.

now I have about the same fleet as usual on a large map + about 15 planets fully upgraded with 40-60 defense-platforms each and the game is really choppy.

no matter if I zoom in to watch the captains scratch their a... noses or if i'm in galaxy view - my fps drop from normal 40-50 down to 15 and below making it no fun to play or even fight another 150+ ship fleet.

now I wanted to see where the bottleneck is and ran my gpu and cpu monitors alongside (dual-monitor setup):




as you can first see my gpu-memory was used 100% so I switched from all "very high" settings on 1650x1050 (2xAA) to non-maskable-AA and "high" settings wich got rid of that problem but the fps didn't improve much.

my cpu was "underchallenged" so was my gpu which used 80% of its 256 MB memory but didn't increase it's core-temp even 1 degree. My GFX has a passive cooler and usually gets between 60 and 65 degrees when it's beeing fully used.

I also have plenty of RAM left.
So why is this game running so damn slow? and why only on large maps?

my system specs:

Intel Core 2 Duo T7500 (2.2 GHz)
MSI Geforce 8600GTS 256MB (passive)
2 GB DDR2-667 RAM
Windows XP Pro SP2 (all patched)
Nvidia Forceware 174.74 (also tried 169.21 and 169.44)

running on 1650x1050 with "high" settings and non-maskable-AA - all effects enabled except bloom.

6,807 views 7 replies
Reply #1 Top
The first problem is that you're running at 1650x1050 on a 256MB card. This is not a good idea - and I would assume the constant spooling of the second core which handles texture loading is indicative of this. That's also a really slow memory clock speed. I have no idea what kind of computer you're running with dual monitors and a laptop Core 2 but I'm not even going to guess.

My only suggestion is to drop resolution to improve your memory-deficiency. I would not use core temp as an effective measure of GPU usage, and it's not like the game is going to somehow not utilize your GPU effectively, so that's really all you're left with.
Reply #2 Top
well I can run other games on this resolution without any problems and usually synced up to 60 FPS.
high resolutions only slow you down when you use high levels of AA or extreme texture sizes which I reduced already.

the cards memory is beeing used 60-80% at max. how can this indicate constant texture swapping?

is there a tool to measure GPU/memory load somewhere?
Reply #3 Top
the cards memory is beeing used 60-80% at max. how can this indicate constant texture swapping?
End of quote


Usage != swapping - your second core is constantly peaking, so unless you're running something really intensive in the background (which also could be the problem!) that's happening.

the cards memory is beeing used 60-80% at max. how can this indicate constant texture swapping?
End of quote


I wish there was - but I haven't found any that work very well.

Note that I'm running a 8800GTS on all "Highest" settings at 1440x900 and I get occasional FPS drops too. It might just be the card.


Reply #4 Top
hmm I just made a test scenario if the resolution really drops my FPS that bad.

I loaded up a small random map - 14 planets 1 AI - and made 1 massive fleet meeting at 1 planet and then looking at the fps with fraps.

at 1280x1024 (all settings as above) I get about 32-40 FPS depending on view-angle and ships movement.

the exact same game and same fleet on 1650x1050 (same settings) gives me about 30-38 FPS - so no big drop here.
and it doesn't matter if i'm zoomed in or viewing my planets from far away.



on my large map with 107 planets and 3 AIs left I get 8-10 FPS tops at all the time.
I think the game loads all ships from all players even when you cannot see them so my system has to calculate 4 times the fleet I tested above.
Reply #5 Top
It gets a bit slow for my PC on really large maps with 4+ players. I have a P4 3.00ghz w/hyperthreading, 2 gigs of ram, and an nvidia 7800 GS. Decent PC, but not exactly top of the line any more. I also noticed the game doesn't utilize most of my RAM and doesn't constantly fully tax my CPU. I thought maybe it was the AI players, but even when they are all eliminated, it still runs slow for the duration of the game even if nothing specific is going on at that point.

Maybe it has something to do with 800 little trade and refinery ships pathing all over the place. Then again, maybe it's just more complicated than it looks and simply requires more power than we can provide.

Oh, I freshly defragged my drives and it helped a fair amount. I even have a RAID disk array that I put my games on. It helps a little, but not signifcant.
Reply #6 Top
I did a little further testing on my large map scenario:

reducing screen resolution and/or AA-values didn't change a thing.
removing all effects and reducing quality to "low" does nothing either.
removing bailknight's graphics mod and both things as above - still 8-10 FPS on that game.

but then I thought about your "all those little" ships statement.

on this map I play a mixed mod version of "sins plus" - "sins enhancement" and "bailknight's gfxmod" + some minor changes I made myself.
where you can place a lot more tactical structures on each planet and an unlimited amount of defense-cannons.

on my 20 planets on this map I have about 4-6 hangar defenses on each map - each holding 5 squadrons of drones. that's a total of ~500 squadrons on bases + 35 squadrons in my fleet.
if you count in the 3 AI players who do build a lot of hangars too thats about 2000 little ships floating around all the time.

I then went to every planet and my fleet and docked all strike craft.

it took about 5 minutes but it really helped:
from an average of 8-10 FPS it went up to 15-20 FPS.


my guess is this would go up even more if the AI would dock their strikecrafts too.

so I think the CPU is the bottleneck here even if it's not beeing used 100% having several thousands of ships floating around all the time seems to be too much.


Reply #7 Top
I posted this in another thread already, but i´ll repeat it. I did "tests" like
sirphoenix myself, and I ran the game on an old 128mb x550 as well as on a brandnew 512mb gt9600. I tried resolutions between 1600x1200 and 1024x768.
The framerate on both cards is OK on small, and horrible on huge maps. By huge, I mean 100+ Planets, 10 Players, and 10+ hrs played. Changing Resolution, Quality or the imgame zoom level didn´t show noteworthy effects.
Also, the fps kept decreasing the "older" the game got.
Therefor, and by checking RAM/Swapfile/CPU usage, I am rather sure to conclude that
a) Sins eats a truckload of mem (naturally scaling with size of map and therefor # of object)
b) Sins needs large amounts of processing power to calculate "hidden" stuff, like trade/refinery ships, Hangar Defense Squads, Resource Asteroids etc.

Not being a programmer I can only guess a solution: implement multithreading/processing by shifting AI players or "static" calculations (i.e. income) to other CPU cores, and find a way to decrease the calculation load on trade/refinery ships (maybe by using "fake" phasejumps or something).
Not sure how you could reduce memory usage either, but I *guess* you could save a few bytes here and there by not simulating every little aspect real-time, again this would come to stuff along the lines of income and pop growth .