Bay 12 Games Forum

Please login or register.

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

Author Topic: Maintaining framerate in 20 year fort  (Read 9130 times)

MorsDux

  • Bay Watcher
  • If you only have a hammer, all problems seem nails
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #15 on: April 03, 2018, 04:53:08 pm »

Thanks for the insight! My fort is around 15 years old with 400 inhabitants. Im losing Fps year by year.
Maybe i can mod out masterworks? In a new world? Would that help? The fort made around 70,000 masterwork items 95% of which was useless like cloth food and crafts related.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #16 on: April 03, 2018, 04:58:43 pm »

I've noticed that butchered animals no longer appear on my fortress' list of the dead. Has this helped?
You're probably using DFHack's fix/dead-units script, in which case they do appear but are removed every time the script is run, which seems to be set to once per month. Apart from a bug fixed recently (it was a bit too enthusiastic in removing units), it probably helps a little bit. Note that units aren't actually deleted: they're removed from the "active" list and DF causes them to appear in the "bad" list, while the "all" list still contains all of them. One would assume DF performs regular processing of the "active" list only, though.

:
Too bad there is no dfhack command to purge these tables.
:
If DF actually does delete item smashed items (I haven't checked), then it ought to be possible to write a script to purge exported junk (you may still want to export junk to increase the exported value number), but it should be investigated where all the junk ends up. If they show up in large piles in adventure mode, that ought to mean they are stored in an item inventory structure in the caravan sending fortress, and if you delete the item in the item list you ought to also delete references to it at the (new) owner site.
Logged

Grand Sage

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #17 on: April 03, 2018, 06:03:29 pm »

Ok, Im just putting this out there MorsDux, If you increased your cap to 400, everything that happens from there on is entirely on you. A 400 dwarf fort is awesome, no doubt, just saying... fps wise... well, you better have a good pc ;)

Kinda flattered you saw my post Sethatos :) Indead, you seam to have mastered the art of playing this game at low fps ;)

I dont think so.

I Actually believe that items carried of by merchants are no longer recorded anywhere. there value adds to exported wealth and the civ screen, but unless they are artefacts or otherwise historically important, they should not be tracked anywhere. unless it is needed for giving the next item an id, but that would apply to atomsmashing as well.
Logged
Dwarf Fortress: This feature has one or more outstanding bugs. Please visit the Bugs section for details.

And I drank the mosquito paste

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #18 on: April 04, 2018, 01:34:05 am »

Needs science.  Toady did a lot of updates to trading and "world activation" since the cited research was conducted.

Is there a reliable way to iterate the total size of the item vector from dfhack? (Basically just walk the table, and give a numeric value for num_entries?)

With a quick test tool like that, I could use createitems to spawn shitloads of something directly on the depot, then trade them. I could then wait for the traders to leave, and then check again to see if the vector shrank or not.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #19 on: April 04, 2018, 02:43:49 am »

Needs science.  Toady did a lot of updates to trading and "world activation" since the cited research was conducted.

Is there a reliable way to iterate the total size of the item vector from dfhack? (Basically just walk the table, and give a numeric value for num_entries?)

With a quick test tool like that, I could use createitems to spawn shitloads of something directly on the depot, then trade them. I could then wait for the traders to leave, and then check again to see if the vector shrank or not.
You can query the vector about its length with #whatever_the_vector_is_called in Lua. You can also iterate over it, although you'd have to know what a dud element looks like to recognize it if DF just marks items as dud. I've seen that you can destroy items by setting a flag in them, after which DF will catch that and destroy the item. I just tried it (I have a web_buster script), and the items destroyed are removed from the "all" vector (I haven't checked the category vectors, but assume the items are removed from them as well). However, the "bad" vector did not shrink (and I found a web item in there). It's possible this vector is cleaned up when a save is loaded, though (or possibly at long intervals), as I've seen that the units.all and units.bad vectors start out the same length on a load, even if fix/dead-units had culled units before the save (so they had different lengths at that time).

A trade experiment would be useful, though. I'll see if I can find a way to investigate it from the state of the items vectors, though.

Edit: Since I trade away worn masterworks clothing, there should be enormous amounts "out there" after 30+ years. I iterated over all items in the "all" vector, and came up with 7 worn masterworks "item_helmst", not the hundreds (or thousands) of caps and hoods traded away, so they're most probably removed from the fortress, but they may well contribute to the save game size explosion...
« Last Edit: April 04, 2018, 03:38:16 am by PatrikLundell »
Logged

CyberianK

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #20 on: April 04, 2018, 02:36:26 pm »

So if I understand everyone correctly for starting a fortress that does not die performance death I should:

    Embark 1x1
    Small+young world
    Limit Caverns
    No trees
    Don't build stairs
    pop below 50
    no sieges
    don't produce rotting clothes
    destroy all excess items
    don't mess with water
    don't dig out much
    no animals

Forgot anything? Maybe I try playing this game again maybe it can still be fun with the outside raids and such but those above measures drastically reduce the fun in a fortress.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #21 on: April 04, 2018, 03:22:26 pm »

Your fortress will probably succumb eventually anyway (unless your tolerance FPS limit is down to a crippled hand level): it's just a matter how long it takes.

Visitors path around, so you'd probably want to limit the number of those.
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #22 on: April 04, 2018, 03:26:30 pm »

Listen, there's nothing you can do to prevent FPS from dropping to something like 50 for any decently long-lived fort. You might try to stop it from dropping even further, but trying to keep it above 50 is just futile.
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Leonidas

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #23 on: April 05, 2018, 04:55:54 am »

What about buildings? Am I killing my FPS by putting hatches everywhere?
Logged

Grand Sage

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #24 on: April 05, 2018, 06:16:26 am »

I dont belive so. Sure, the game will need to perform temperature checks ect. on them, but it should be insignificant compared to the 100000 other tiles it is already checking.
Logged
Dwarf Fortress: This feature has one or more outstanding bugs. Please visit the Bugs section for details.

And I drank the mosquito paste

Robsoie

  • Bay Watcher
  • Urist McAngry
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #25 on: April 05, 2018, 06:16:35 am »

About amount of items going insane.
Beware of fisherdwarves, only 4 or 5 of them can result in several thousands of mussels items every few months
And if you have a fishery workshop, several thousands of mussel shells.
So make sure to disable fishing on most of the fishers when you start to see them getting mussels if you don't want to have to constantly haul and atom smash so many items.
Logged

Dragonborn

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #26 on: April 05, 2018, 08:38:00 am »

Another thing to keep in mind: All the tweaks that are recommended here mean little if you're trying to play the game on low end hardware or a laptop.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #27 on: April 05, 2018, 09:21:55 am »

Another thing to keep in mind: All the tweaks that are recommended here mean little if you're trying to play the game on low end hardware or a laptop.

Hey, my crappy linux-ized chromebook is able to handle the game quite well, all things considered.  I still get 12ish FPS with 150 dwarves on a default size embark.
Logged

§k

  • Bay Watcher
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #28 on: April 05, 2018, 09:41:47 am »

Above ground buildings - consisting of thousands of blocks - definitely stress the FPS, even the small ones.
Logged
All of them are wearing copper and Iron masks saying "in a time before time somebody attacked somebody"

Show undead posts since last visit.

Robsoie

  • Bay Watcher
  • Urist McAngry
    • View Profile
Re: Maintaining framerate in 20 year fort
« Reply #29 on: April 05, 2018, 05:06:49 pm »

    Embark 1x1

You can go with 2x2 , it's larger enough for a decent fortress and you should be able to keep the framerate above 50+ for a decade or two without problem at 100 pop as i do on my current fort (assuming of course you use the other fps controlling tricks) on an old computer :


turning off siege is a problem to me as it introduce boredom very quick , mostly because unless you make your own self challenge rules in current and default gameplay it's too easy to get your fortress to be self sufficient in only a few months on your first fortress year (and that will still continue to be self sufficient even when you'll reach your max pop).

I usually only turn off siege temporarly so my dwarves can have enough time to haul all the useless items generated by defeating a siege into my atom smasher (as it can take a very lot of time when you're not using dfhack for its autodump destroy script) before the next siege :)

An additional benefit to have a 2x2 ( 1x1 ) map with siege enabled, is that it actually increase the siege challenge, because the invaders spawn so close to your fortress that your dwarves will have less time to prepare for them (assuming you jusy simply didn't walled/roofed your fortress completely.
« Last Edit: April 05, 2018, 05:14:37 pm by Robsoie »
Logged
Pages: 1 [2] 3 4