Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3

Author Topic: FPS woes  (Read 3114 times)

deknegt

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #15 on: January 22, 2016, 09:16:02 am »

Just a small additional hint; I experienced a big drop in fps after designating a pasture partly "hanging" in mid-air, i.e. above a small lake. Removing said pasture gave me back my former fps.

Yup, anything that designates inaccessible areas will cause a lot of pathing issues, which in turn causes FPS woes.

Plan your zones correctly and you can have as few issues as possible.
Logged

Detros

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #16 on: January 22, 2016, 12:29:13 pm »

EDIT: oh, side question: I've recently started using a usb 3.0 flash drive for readyboost. I could swear it has improved my ingame FPS a bit, but cannot make sense of why it would. https://en.wikipedia.org/wiki/ReadyBoost. I mean, it makes sense for it to decrease loading and saving times, but ingame FPS?
Maybe some parts that take care of the world around you are loading things during play? Say, units in distant cities can probably be counted with just once a gameweek?
Logged
Beside other things, bay12forums is also the leader website in calculations of saguaro wood density.
(noted by jwoodward48df)

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: FPS woes
« Reply #17 on: January 22, 2016, 01:07:21 pm »

I will just reply, and i appreciate everyone's 5 cents here, and i did try all the tricks on the wiki, and the computer was bought for work/school,
 but i think, that maybe considering everyone's replies here a little more dev time might be placed into making the game playable/functional rather than minor adjustments to trees and culture gen. i've been playing the game on and off for 5 years. 5 years ago fps death was understandable. now... it's just frustrating.
especially without any possibility of remedy.
That's why I use very specific parameters when I generate worlds, now.  Unless I'm doing something really crazy, or it's a bug, all my forts maintain 100-500FPS, no matter how long I want to play.
It can be done, but it depends on what you want out of the game, I guess.  If you want a gajillion citizens (afaik, you never need more than 80, for any in-game feature/goal), take a look at this fort: http://dffd.bay12games.com/file.php?id=7750 yes, it's for 34.11, but it demonstrates what's possible.

PatrikLundell

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #18 on: January 22, 2016, 02:01:07 pm »

I know one feature that requires more than 80 citizens, and that's to get the king to move to the fortress. The requirements for that are on the wiki, but one of them is that the fortress is a Metropolis, which requires a higher pop. Although I agree it's crazy to actually want a mandate spam bot to move to your fortress if it can be avoided ;)

Getting hyped over a 64 bit of DF is probably very optimistic. Technically, it ought to reduce the performance to a very marginal degree because 64 bit pointer are twice as large as 32 bit ones, and thus means twice the number of bits have to be moved for every pointer. A 64 bit DF doesn't in itself yield more than the ability to play in larger/more complex/cluttered worlds (where the FPS death happens faster). A 64 bit DF is basically an enabler for a larger DF, not a faster one. However, if Toady uses the requirement to muck around all over the code to change data types he might also throw in a small number of other "all over the place changes that can break things". One of them might be to address some performance issues, and another one might be handling of null pointers that currently cause DF to crash ("handling" most likely would mean DF would still terminate, but with some kind of indication of why, for a better chance to fix the bug/report that the termination is because DF ran out of available memory).
I believe a 64 bit DF is needed eventually regardless and now is probably a good time, so the above should not be taken as an opposition to the move, just a caution to temper the optimism regarding its FPS healing powers.
Logged

Oafsalot

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #19 on: January 22, 2016, 05:50:31 pm »

Ram latency is the choke point. Most modern CPU's deal with DF fine, sure they have some slow down at peak times but they tend to catch up eventually. Modern ram, with low RAS and CAS times will be the biggest improvement.

My CPU is i7 2600 and my ram is only 1033MHz, I've tweaked the timings as fast these modules can go. I only have 8Gb. I'm looking at 1333MHz ram, 16Gb kit, with lower latencies. That should give me a few more FPS, but my CPU is about as fast as it can get for DF. I mean sure there are some nicer features on the more up to date CPU's but DF doesn't use any of that, it wants single core MHz sustained.

I limit myself to 80 dwarves, I get 25-45fps in a 20 year old fort with most things running, water reactor, mist generator, central up/down staircases.
Logged
If you like this game why not head over to https://www.patreon.com/bay12games/posts and make a small contribution?!

IRON_GAUNTLET

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #20 on: January 22, 2016, 07:21:20 pm »

it doesn't matter if you have a nasa space-computer on steroids dedicated to running dwarf fortress! If the program can't handle it's own spaghetti code, it will always perform like shit. Dwarf fortress has a tall order of things that it tries to compute all at the same time, toady must figure out a way to rewrite the code so that huge populations don't slow the game down to a crawl. But hey, lucky for us he is already on that, maybe 300+ dwarf forts on 60 fps may be a thing in the near future, hehehehehe!!
Logged
bay12: the place where the simulated mass murder of children is acceptable and even encouraged, but a demographic survey is controversial.

4kn

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #21 on: January 23, 2016, 11:58:15 am »

"know your enemy" they say.
there's a lot of posts around asking for fps advice as well as list of standart tweaks.
i wonder if it is  possible to compile an application (df hack based?) that would "read" your actual df performance and display calculations per second breakdown, like: temperature - 15, pathfinding - 60, liquids movement - 35 and others. it would also be nice to show current rig bottlenecks, maybe some performance improvement analytics even?
that would help alot in the battle with fps death. but is it possible?
Logged

SimRobert2001

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #22 on: January 23, 2016, 12:10:31 pm »

I will just reply, and i appreciate everyone's 5 cents here, and i did try all the tricks on the wiki, and the computer was bought for work/school,
 but i think, that maybe considering everyone's replies here a little more dev time might be placed into making the game playable/functional rather than minor adjustments to trees and culture gen. i've been playing the game on and off for 5 years. 5 years ago fps death was understandable. now... it's just frustrating.
especially without any possibility of remedy.
That's why I use very specific parameters when I generate worlds, now.  Unless I'm doing something really crazy, or it's a bug, all my forts maintain 100-500FPS, no matter how long I want to play.
It can be done, but it depends on what you want out of the game, I guess.  If you want a gajillion citizens (afaik, you never need more than 80, for any in-game feature/goal), take a look at this fort: http://dffd.bay12games.com/file.php?id=7750 yes, it's for 34.11, but it demonstrates what's possible.

How do you determine parameters?

So, does making a zone part of a wall cause pathing issues?

Or even over lava?

Or over statues?
« Last Edit: January 23, 2016, 12:18:01 pm by SimRobert2001 »
Logged

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: FPS woes
« Reply #23 on: January 23, 2016, 01:10:13 pm »

What I mean by parameters is.. don't have magma if you don't need it.  don't have HFS if you don't plan on breaching it.  Don't have three cavern layers if you only need one.
Don't have above ground plants and trees if you don't use them (belowground farming FTW!).
Don't have 16 races if you need 2 (dwarves, goblins)
Don't have a 127x127 world when 17x17 is perfectly fine for fortress mode.
Don't have unlimited civ sites when none will do.
Don't have a living mountainhome when a DEAD one will do. :P
Alternately, you can even mod dwarves to use above ground crops and permit civ/sites to appear in ALL biomes, and remove the caverns and magma entirely.  Sure, it's a little different, but wow, the FPS gain is amazing.

Things like that.

PopTart

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #24 on: January 24, 2016, 01:56:11 am »

Yup, anything that designates inaccessible areas will cause a lot of pathing issues, which in turn causes FPS woes.

Plan your zones correctly and you can have as few issues as possible.

I've heard that making areas inaccessible is supposed to help FPS because it reduces the number of possible paths. However I see the point that repeated pathing attempts through forbidden doors can slow down the game. Does anyone have insight into this question?

Tryble

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #25 on: January 24, 2016, 09:47:42 am »

Things you need to make DF less laggy (for a while):

CPU:
Single-core performance is a must here, not just clock speed. A 4.2 GHz processor can be easily outperformed by a newer 2.0 GHz one, depending on various factors. Don't just go for the one with bigger numbers.
Also note that while DF is (mostly) single-threaded, a multi-core CPU is still important, because the OS and anything else you're doing will want cores other than the one DF is on to run in the background. Good luck getting a modern CPU with only one core, though.

Seconding this entire post, but this specifically.

For anyone curious, see this benchmark chart of single-threaded performance on modern CPUs.  Having just replaced my old quad core CPU (score of 1250~) with a newer dual core (score of 2080~), I am getting significantly more FPS on 4x4 embarks with my usual 125 dwarf cap (70FPS vs 25).  This increase is despite the loss of two cores and the CAS latency increase of 5 in my RAM.  I have an SSD, but DF is sitting on the same drive that I had it on in the old system. 
Logged

HungryHobo

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #26 on: January 28, 2016, 11:23:14 am »

One thing I'd like to see in DF at some point would be outputs of time it's spending on various tasks. How hard it would be depends massively on how Toady has the game loop set up.
Logged

Grax

  • Bay Watcher
  • The Only.
    • View Profile
Re: FPS woes
« Reply #27 on: January 28, 2016, 01:16:23 pm »

What I mean by parameters is.. don't have magma if you don't need it.  don't have HFS if you don't plan on breaching it.  Don't have three cavern layers if you only need one.
Don't have above ground plants and trees if you don't use them (belowground farming FTW!).
Don't have 16 races if you need 2 (dwarves, goblins)
Don't have a 127x127 world when 17x17 is perfectly fine for fortress mode.
Don't have unlimited civ sites when none will do.
Don't have a living mountainhome when a DEAD one will do. :P
Alternately, you can even mod dwarves to use above ground crops and permit civ/sites to appear in ALL biomes, and remove the caverns and magma entirely.  Sure, it's a little different, but wow, the FPS gain is amazing.
All these do little impact on game FPS, only the time of save/load.

The MAIN part in killing FPS plays the QUANTITY of all that single things on your base. Stones, blocks, wood, plants, meat, threads, CLOTHES, corpseparts etc. Unrevealed caves don't count.
Proof: have 80 dorfs+15k stones/bars (without bins) +50k cloth/thread/wood/food = 40fps
Annihilated all stockpiles with raising bridge, leaving 80 naked dorfs = 190fps

The second part is the quantity of moving beings - dwarfs and animals. ONE single room with animals and "pet-closed" door can lower FPS to 10% of normal.
Proof: 80 working moving dorfs = 60 fps, 80 idle almost standing dorfs = 95fps

Third part are for flowing water and magma.
Have no proof with numbers.
Logged
Finis sanctificat media.

Bwint

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #28 on: January 28, 2016, 04:45:23 pm »

Yup, anything that designates inaccessible areas will cause a lot of pathing issues, which in turn causes FPS woes.

Plan your zones correctly and you can have as few issues as possible.

I've heard that making areas inaccessible is supposed to help FPS because it reduces the number of possible paths. However I see the point that repeated pathing attempts through forbidden doors can slow down the game. Does anyone have insight into this question?
My understanding is that items will generate their own pathing attempts. For example, a stone "wants" to be in a stockpile, a plump helmet "wants" to be eaten, etc. These items will try to path to a hauler or a hungry dwarf (the dwarf will also path to the item, meeting it halfway) and the item will only stop pathing when it runs out of room to path. So forbidding doors or walling off unused areas will help, but only if there's nothing useful behind them.
Logged
'There are some things mortals are not meant to know, but we were bored and drunk at the time so we gecided to leave details of those forbidden arts in the library for a laugh.'

PopTart

  • Bay Watcher
    • View Profile
Re: FPS woes
« Reply #29 on: January 28, 2016, 05:04:16 pm »

My understanding is that items will generate their own pathing attempts. For example, a stone "wants" to be in a stockpile, a plump helmet "wants" to be eaten, etc. These items will try to path to a hauler or a hungry dwarf (the dwarf will also path to the item, meeting it halfway) and the item will only stop pathing when it runs out of room to path. So forbidding doors or walling off unused areas will help, but only if there's nothing useful behind them.

Ah, awesome. I had been making chopped down trees inaccessible to speed up FPS, not knowing that the dwarfs (and the logs!) were creating pathing requests. And other similar mistakes. In retrospect, what did I think, that the dwarfs would "give up" on the logs until I switched the door to "passable"?  :P

I'm doing a major purge. All cloth items, all dye, most of my prepared meals.

Thanks for the info!
« Last Edit: January 28, 2016, 05:14:42 pm by PopTart »
Logged
Pages: 1 [2] 3