What is your processor brand and speed?
How much RAM do you have?
Do you run faster on maps without running water?
Do you run faster on maps without magma?
Do you run faster with certain features turned on or off?
Do you run faster when certain tasks aren't being performed by your dwarves?
What do you slows down the game the most for you?
[ November 06, 2007: Message edited by: schm0 ]
[ November 06, 2007: Message edited by: Tormy ]
As to how Toady can fix these issues, there are two major ways I can easily mention off the top of my head. First, he can port DF to Linux. What little I talked to him about it indicated that it wouldn't be that much effort.
The second way is probably by far the hardest optimization of all - multithread the engine. Processor technology at this point is heading rapidly towards multiple cores for processing data and, while currently there are still reasonable increases in speed for individual cores, that is bound to slow down a good deal at some point. Tom's Hardware recently previewed a new CPU from Intel called Penryn. On the last page of that article they express the opinion that a version of it could be made with eight cores.
[ November 06, 2007: Message edited by: Frobozz ]
quote:
Originally posted by thvaz:
<STRONG>I wish multithreading very much. Please Toady :)</STRONG>
If only modifying a piece of software to be multithread capable was as easy as just wishing for it.
quote:
Originally posted by SwiftSpear:
<STRONG>
If only modifying a piece of software to be multithread capable was as easy as just wishing for it.</STRONG>
If world wishes would were look threads like the this :(
quote:
Originally posted by Frobozz:
<STRONG>First, he can port DF to Linux. What little I talked to him about it indicated that it wouldn't be that much effort.
</STRONG>
Wine isn't (or at least, shouldn't be) a major issue - wine is only a very thin layer remapping calls and reading PE files, so slowdowns due to it should only be O(1) with a c, hardly major loses; I'd expect maybe an increase of 0 to 1 FPS comparing native to wine, myself. Most of DF's speed is likely limited by the algorithmic complexity/cache miss rate of lookups, and the GPU.
I can't comment on what the real causes of non-feature slowdowns are, as I'm not the one with access to source and a profiler. Toady knows better than any of us what's really eating into time.
[ November 06, 2007: Message edited by: bremac ]
Toady seems to know where most of the bottlenecks are, as it's mostly code that needs to be optimized.
quote:
<STRONG>Wine isn't (or at least, shouldn't be) a major issue - wine is only a very thin layer remapping calls and reading PE files, so slowdowns due to it should only be O(1) with a c, hardly major loses; I'd expect maybe an increase of 0 to 1 FPS comparing native to wine, myself. Most of DF's speed is likely limited by the algorithmic complexity/cache miss rate of lookups, and the GPU.</STRONG>
Why the GPU? The GPU has very little to do with this game. The most complex mode it has is to display a textured quad on the screen. Surely one simple texture isn't complex. Wouldn't even need to update that texture every frame either.
Also I happen to know Wine is slowing things down because I've already tested this system under Windows XP. If you think it might be my system in some way, let me give you some of my specs
Pentium D 805 at 2.66GHz per core on a 533MHz FSB
1GB DDR2-667 (only running at 533 thanks to the CPU)
GeForce 8600GTS with 256MB memory
Of course specs aren't necessary because, as I said, I've already tested under XP and Linux. There is a visible speed decrease. Oh and I am running official NVidia drivers before anyone asks. Believe it or not, I get more FPS under Linux than Windows typically.
quote:
Originally posted by Arven:
<STRONG>I have a 2.7 ghz dual core cpu and 2 GB ram and have no lag or FPS spikes.</STRONG>
What FPS do you have on a 6x6 starting area at least after like 1 year has passed in the fortress?
quote:
Originally posted by SwiftSpear:
<STRONG>If only modifying a piece of software to be multithread capable was as easy as just wishing for it.</STRONG>
Multithread capable? Uhm... :roll:
AMD Athlong(tm!) 64 Processor, 3400+ (Not sure what that means), 2.21 GHZ, 3 GigaBytes of RAM. Maps with Running water creates brief periods of 'normal', and brief periods of 'space walking'.
I actually haven't played around too much with everything else, since I'm not too worried about the lag. It's just odd.
Ever been dual sieged? yeah.
quote:
Originally posted by Frobozz:
<STRONG>
I haven't looked at Wine much I mostly just run it. But I'm going to assume that it isn't a direct one-to-one remapping of the calls. The only way that would be possible is if Linux had at least all the calls that Windows has. That isn't likely.
</STRONG>
Wine should give a constant slowdown for each Windows function called. The game uses lots of CPU on game logic and very little on rendering and interfacing. All of Wine's slowdowns should happen in the interfacing and rendering part of the code, which is very little of the total CPU time.
Unless Toady uses Windows-specific functions all over the game logic and inner loops (pointless/overly complicated), Wine will have much less slow-down on DF than it does on most Windows programs.
quote:
<STRONG>
Of course specs aren't necessary because, as I said, I've already tested under XP and Linux. There is a visible speed decrease. Oh and I am running official NVidia drivers before anyone asks. Believe it or not, I get more FPS under Linux than Windows typically.</STRONG>
So if you typically get more FPS on Linux, this indicates that Wine doesn't have a significant performance cost for DF.
quote:
<STRONG>So if you typically get more FPS on Linux, this indicates that Wine doesn't have a significant performance cost for DF.</STRONG>
quote:
<STRONG>I'm confident Toady will find new and innovative ways to optimize his code so that we get the most out of our current technology.</STRONG>
Multithreading is really one of the better ways to go. Not every has multiple cores right now - but what about when the game hits 1.0? A good nine months passed between updates and that was only a minor version increase. I suspect by the time the game is considered beta that the majority people will possess multiple core systems.
Of course another possibility occurred to me. If the parts involving the terrain, temp, and weather could be made to work through multiple threads then why not make a version that uses the GPU to do the calculations?
[ November 06, 2007: Message edited by: Frobozz ]
Also, something I learned from my stints as a software engineer (...shudders) is that sometimes rewrites come too early and improve nothing. And I say this as a compulsive software rewriter. Most of the time the greatest performance issues are just bug-related and can be fixed by just moving or erasing a line of code of two.
[ November 06, 2007: Message edited by: Zemat ]
quote:
Originally posted by Bien:
<STRONG>I got a P4 1.7 GHz CPU, 633 MB RAM, running with temperatures on and I'm still maxing my FPS cap of 100, lucky me, I guess.</STRONG>
With a huge map including magma though? I doubt it.
NINJA EDIT - I believe that this lag sucks :(. I foresee two outcomes. Toady will optimize the code OR we'll just have to wait until stronger/faster processors come out that are able to handle Dwarf Fortress in all its epic scale glory.
[ November 07, 2007: Message edited by: The13thRonin ]
My findings:
FPS drop when
-creatures (inc dwarfs) run over each other but attempt to go diagonally.
-Huge differences in cliff heights (I noticed a small map with rather big cliff differences (4-5) has my maxed out fps of 250) while others have a higher cliff variation i run aground to 40fps. I'm thinking in the area of amount of different stone, the 250fps area had only 3 different stone layers and 3 sand ones.
-Water has no affect on fps, not for me at least, apart from flooding something with a 100x100x10 reservoirs, and even then, the fluid algorithm is very smooth.
-stairs/ramps cause a huge drop in fps, My guess is, dwarfs attempt to go diagonally up or down (i build multiple wide stairs/ramps)
-I still think there's a connection with lower fps when i look trough more starting zones (like toady mentioned he fixed it. I think a part is still there.)
So far thats on the top of my head what i came to find.
edit for spelling
edit 2 for this:
Perhaps toady can change the game so that it used the graphic card to do all the path finding algorithms. Or at least some of them, with an option to scale/put it on off in the ini.
[ November 07, 2007: Message edited by: Guilliman ]
[ November 07, 2007: Message edited by: Guilliman ]
My System Specs say:
AMD Athlon 64 Processor 3400+, 1.8 Ghz
896 MB (1 GB> ) RAM
(I downloaded a program and it analyzed my computer and said I had 2.4 GHz. Perhaps my processer is overclocked?)
My first map had a magma vent. As soon as I had about 40 dwarves, I was averaging about 35 FPS. On my latest map, I have a brook and no surface magma and I average 60-70 FPS but haven't had my first immigration.
On both maps, I am building underground sewers that will be used to drain some of the local lakes and hook into the brook for a permanent water source for farming. Draining the lakes does create lag, but as soon as the water sources are settled, they jump back up. This is to be expected. I think the magma vent causes more FPS lag because it is trying to calculate any possible shifts every so often for X amount of Z-axis layers. In the case of the former fortress, it went down 18 levels. That's a lot of fluid to calculate, but is only about 30 FPS less than without magma altogether. Perhaps a magma vent should need no calculations until tiles surrounding it are modified or accessing the fluid itself has begun?
I also think that graphic card and multithread support should be implemented as soon as possible to take the load off the CPU. I think a lot of us will find a huge increase in FPS once this is supported.
[ November 07, 2007: Message edited by: schm0 ]
The only thing I've noticed that slows me down consistently is defining a meeting area or sculpture garden. It's not really a performance-specific issue though, but about half my dwarves and every single stray animal will instantly descend upon the new meeting area and turn it into a dwarven moshpit of laggy doom. It was even worse in .32a when prone creatures caused lag.
No lag (as long as I don't do stupid things like pike a huge area in a lively region etc.)
Adventure Mode is nearly unplayable, through
quote:
...The second way is probably by far the hardest optimization of all - multithread the engine. Processor technology at this point is heading rapidly towards multiple cores for processing data and, while currently there are still reasonable increases in speed for individual cores, that is bound to slow down a good deal at some point. Tom's Hardware recently previewed a new CPU from Intel called Penryn. On the last page of that article they express the opinion that a version of it could be made with eight cores.
[ November 06, 2007: Message edited by: Frobozz ][/QB]
Jesus... who even does NEED something like this?
[ November 07, 2007: Message edited by: Mover#005 ]
[ November 07, 2007: Message edited by: Mover#005 ]
1. Use the new Z-Axis. don't build a large fortress on just one Level. It isn't good for your efficency of the fort and pathfinding has to find a way from one end to the other.
2. Avoid open Spaces in your designs. more open titles = more possible Pathnodes.
3. Avoid locked doors and other toggleable blockages. I have the feeling they piss the pathfinder off big time if not used correctly.
4. Use Traffic-zones. Your dwarfs may find the best and shortest path anyways but they algorithm will thank for your help with less intensive cpu-hogging if you point out the clearly best titles.
I'm sure someone with the right background can add a few tips.
[ November 07, 2007: Message edited by: Mover#005 ]
My computer's getting old, but if I could find the parts, I'd upgrade it to it's technical limit before buying a new one.
Athlon 2400+ (2GHz)
1.5 GB RAM
Windowed, no graphics, [G_FPS_CAP:10]
Dwarf mode, I chug when hauling a lot, even when there's a straight line from the thing to be hauled, to the space it's being hauled to and when I use pumps, even when off screen. Adventure mode is pretty impossible to play due to slowdown and crashes when trying to visit a fortress site, but I've yet to find a pattern to that.
quote:
Originally posted by Trukkle:
<STRONG>My computer's getting old, but if I could find the parts, I'd upgrade it to it's technical limit before buying a new one.</STRONG>
quote:
Originally posted by Frobozz:
<STRONG>
Who made your motherboard and what model is it? If you're using Socket A then you'll be hard pressed to find a faster processor - AthlonXPs used are mostly the same price as they were new and often more money than simply buying a new board and dual core processor.</STRONG>
(ASROCK K7NF2-RAID, if you're interested)
I've just come back from researching just that, and yeah. Processors aren't available, or if they are they're still at their 2003 prices :/
Looks like I'll be saving up for a whole new PC. I can run Bioshock fine and not feel the need to upgrade, but Dorfs bring me to my knees, wallet-in-hand.
Damnit Toady >:(
Missed it in my spec post, so: Average FPS of 45 with around 40 beardy, foul smelling, blood/mud/water/vomit soaked, ale quaffing, Elf kicking Dwarves, 10 tame animals and no surviving wildlife.
quote:
Originally posted by termitehead:
<STRONG>But if you never defrag, have shit-tons of spyware, are running a dozen other processes, and so on... you're gonna get shit lag. I know a lot of people who have better pc's compared with my hardware but mine runs a lot better because I take care of it.</STRONG>
Regardless upgrading hardware still has a sizable impact. Especially if you go from an AthlonXP to Pentium Dual-Core/Core 2 Duo. If anything the spyware will have an additional core to hog and thus free up resources for Dwarf Fortress. :D
But getting this low performance in linux make me suspect that something is wrong with my settings. In windows Im usually at 100.
Edit: After installing proper graphics driver the fps is rocksteady at 75, I have it capped at that, gonna try raise it later.
[ November 08, 2007: Message edited by: mizipzor ]
quote:
Originally posted by mizipzor:
<STRONG>But getting this low performance in linux make me suspect that something is wrong with my settings. In windows Im usually at 100.</STRONG>
quote:
Originally posted by termitehead:
<STRONG>Remember it's not straight hardware you have to think about. Sure you might have 4gig ram quad core rig. But if you never defrag, have shit-tons of spyware, are running a dozen other processes, and so on... you're gonna get shit lag. I know a lot of people who have better pc's compared with my hardware but mine runs a lot better because I take care of it. It's like any other game which requires decent hardware, minimize the number of processes you have running and keep a nice and clean environment - then start talking about hardware.</STRONG>
Aaaaaaaaaand returning late once again.
Yep, I completely agree. I take care of my machine in just that manner, and my windows installs usually outlive my case fans because of it. There are new games out now (Not Crysis) that run better and a lot more reliably on my supposedly ancient setup than they do on current hardware. The problem is, it's never going to be possible to make it run any better in it's current incarnation. My processor is letting me down.
Can anyone get me up to speed on the current state of Intel? Comparative speed, heat tolerances, if they're still only doing 32bitx2, instead of true 64bit? Whether I'd need to get Vista (not happening)
I've been an AMD diehard for so long I forgot why I started. That's the only qualm I had with the board mentioned above. I'd gladly take this to email, PM or IM (check my profile)
[ November 10, 2007: Message edited by: Trukkle ]
quote:
<STRONG>Can anyone get me up to speed on the current state of Intel? Comparative speed, heat tolerances, if they're still only doing 32bitx2, instead of true 64bit?</STRONG>
I don't honestly think 64-bit is needed at this point. The only real advantage I see to it is more memory per program but I haven't run across too many programs that use more than 2GB. Specialty programs will always need it sure but you won't be running those programs on cheap processors (aka Core 2 Duo).
quote:
<STRONG>I've been an AMD diehard for so long I forgot why I started. That's the only qualm I had with the board mentioned above. I'd gladly take this to email, PM or IM (check my profile)</STRONG>
[ November 10, 2007: Message edited by: Frobozz ]
[ November 10, 2007: Message edited by: Lactose ]