Bay 12 Games Forum

Please login or register.

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

Author Topic: Weird framerate issues due to embark site : very annoying  (Read 2276 times)

Poch

  • Bay Watcher
    • View Profile
Weird framerate issues due to embark site : very annoying
« on: January 31, 2013, 03:40:29 am »

Hello all

Well i came back to DF after a break of almost one year to test masterwork new features and the stockpile update. Like some of you, i love embarks with rivers, flat volcanoes and a demonic fortress at the bottom to give me some challenges.

I just found one cool spot, and as i was exploring it to determine if i wanted to settle a fortress there, i realized my framerate after a few minutes could vary a lot from a location to another. (i try different combinations a few times before choosing my final embark site, anyway).

The conclusion, for lazy-readers is this : if you have framerate issues, never settle on a place like the one i just described. The wiki may say something about the river, but it's not the worse feature imho.

I made a few benchs, and here are the results.

-------------------------------------------------------------------

TEST PROCEDURE
  • Testing varying embarks just a few tiles near or shifted away from my original 3x3 embark containing fortress+volcano+river
  • Disabling temperature, cave-ins, weather
  • Embark with 500 booze, 500 meat, nothing else
  • Using masterwork as it improves FPS of around 25% (but i guess the effect in early game is neglectible)
  • All dwarves have all jobs disabled. Meaning they never do anything but drinking, sleeping or eating.
  • Starting the game capped @1000FPS
  • Population cap @7 (first migration waves still come)

-------------------------------------------------------------------

TEST RESULTS

2*2 embark, flat ground, zero map features :
  • 1000 FPS for 20 minutes

2*2 embark, with a demon fortress below :
  • 1000 FPS from t0 to t+1,5min
  • 995 FPS from  t+1,5 to t+5min
  • Arrival of trade caravan : 720 FPS while they are on the map
  • They go away and the game goes back to 800+ FPS
  • 700~850 FPS from t+7min to t+13min

2*2 embark, with a demon fortress below (another embark config, but same spot) :
  • 1000 FPS from t0 to t+2min
  • 995 FPS from  t+1,5 to t+5min
  • t+4 : 980 FPS
  • t+8 : 865 FPS
  • t+10 : 775 FPS
  • t+11 : 800 FPS
  • Enabling temp/weather/caveins make the game drop at 220FPS

-------------------------------------------------------------------

2*3 embark, flat ground, zero map features :
  • 1000 FPS for 8 minutes without a glitch

2*3 embark, demon fortress :
  • 1000 FPS for 30 seconds
  • t+1 : 930 FPS
  • t+2 : 890 FPS
  • t+3 : 800 FPS
  • t+4 : 780 FPS
  • t+5 : 740 FPS

2*3 embark, demon fortress + volcano :
  • 1000 FPS for 30 seconds
  • t+1 : 970 FPS
  • t+2 : 870 FPS
  • t+3 : 770 FPS
  • t+4 : 650 FPS
  • t+5 : 650 FPS
  • t+6 : 580 FPS
  • t+7 : 500 FPS (caravan presence)
  • t+8 : 580 FPS
  • t+8 : 540 FPS
  • t+13 : 520 FPS
  • t+16 : 490 FPS
  • t+21 : 520 FPS
  • t+24 : 440 FPS
  • t+26 : 520 FPS

-------------------------------------------------------------------

3*3 embark, flat ground, zero map features :
  • 990~1000FPS for 6 minutes
  • t+6 : 900 FPS (caravan)
  • t+7 : 1000 FPS
  • t+8 : 1000 FPS
  • t+12 : 860 FPS (caravan)
  • t+13 : 900 FPS
  • t+14 : 1000 FPS
  • t+15 : 950 FPS

3*3 embark, volcano + river :
  • First minute start at 1000 FPS and ends at 700 FPS
  • Then 800~1000 FPS for 4 minutes
  • Starting at t+8 min, framerate drops to 500 FPS
  • After 20 minutes, framerate is between 450~500 FPS

3*3 embark, volcano + river + demon fortress :
  • 950 FPS for 30 seconds
  • t+1 : 735 FPS
  • t+2 : 680 FPS
  • t+5 : 600 FPS
  • t+8 : 500 FPS
  • t+16 : 220 FPS
  • t+20 : 220 FPS
  • t+40 : 220 FPS
  • After enabling temperature, weather, caveins, framerate drops to 130~140 FPS

-------------------------------------------------------------------

4*4 embark, flat ground, zero map features :
  • 1000 FPS for 30 seconds
  • t+1 : 800 FPS
  • t+2 : 715 FPS
  • t+3 : 650 FPS
  • t+5 : 670 FPS
  • t+6 : 600 FPS
  • t+7 : 580 FPS
  • t+8 : 530 FPS
  • t+9 : 500 FPS
  • t+10 : 475 FPS

-------------------------------------------------------------------

8*8 embark, flat ground, zero map features :
  • t+1 : 270 FPS
  • t+2 : 285 FPS
  • t+3 : 230 FPS
  • t+4 : 250 FPS
  • t+5 : 200 FPS
  • t+6 : 200 FPS

-------------------------------------------------------------------

So, i cannot be SURE for the volcano and the river, but i can definitely say that demonic fortresses are FPS killers (among other things).

Do not embark on such sites if you have framerate issues.


-------------------------------------------------------------------

About DF, performance, and game evolution

What seems obvious too, is how poor the programming is to yield such results. I mean come on, losing 10% FPS every minute to finally end at 20% of the initial framerate after 20 minutes is completely ridiculous. Or pathetic. Or both. I had 2 or 3 dwarves per migration wave, with only 2 migration waves. And no one is doing anything, no objects are created, all game features are disabled... And the embark is at most only 3x3.

Even with years of experience and the greatest efforts from the player, and the use of many 3rd party fixes or improvements this game is still merely playable on very high end computers (excepted for i7 who are wonderfull processors not everyone can offer). I find it a bit disappointing after years waiting for improvements regarding the performances and usability of the game. But now, i just realized and measured how stupid and intense the framerate drop can be, even without doing a thing, just by being on the "wrong" place !!! So in order to play this game we have to disable all of its cool features : volcanoes, foes, hell, rivers, industry & crafting, trading, fighting hordes of ennemies, clothing, large embarks...

Maybe i'll get insulted for saying this, but combined with the fact that toady leaves very critical issues (bugs, or UI limitations, or so) unregarded litteraly for YEARS before fixing them, and the fact he is spending so much time adding new pseudo-useless features almost no one cares about makes me think, in the end he has absolutly no idea what he is doing / what he should do.

Dwarf Fortress is the best game i ever played, sort of, but after years trying to have fun with it, i realize i may have spent more time fixing problems than enjoying the game. When you see projects like Gnomoria getting weekly updates, and being focused on critical things, i don't know what to think.

Support Toady and help him improve the game ? I really feel like he doesn't care about framerate, bugs, usability, "gamedesign", and the players. Mantis bugs are opened forever before getting fixed. Toady's lack of communications skills is not helping either. I almost never see him posting on the forums or direclty reacting to reported problems.  And the "news" and "talks" are very hard to understand, with very unclear informations. I don't know who is interviewing him, but Q&A sessions with normal player would be a good thing imho. He seems to code/communicate mostly for him and some sort of very strong, fanatic player-base. Not for the "average" player.

Or a DF player could give 10$ to Gnomoria developers which seem to have a way more interesting future than DF ? I mean if things keep going like this, in a few years, DF will still have its strong fanatic player-base from day one, but all other players like me will be gone, because Gnomoria is way more entertaining and is evolving very fast, in the good way. Unlike DF. All good players have lost great fortresses to framerate. In the end, the fun is what matters, not the exactitude or the variety of things we will never use. Temperature or pressure for example cost way too much performance regarding to the benefits to gameplay.

And you, experienced or beginner player what do you think ? Do you hope for a brighter future ? Do you want cool, experimental features even if you can't use them ? Will you switch to any another game with better UI/performance as soon as it reaches the spirit/feature level of the fortress mode ?

I'd really like to hear advices regarding this. If i am wrong and taking shortcuts, please correct me. If you feel like adding countless features is more important than having an enjoyable product, please explain why. Do you think (like me), toady should spend at least a few years improving the game without adding a single "game" feature ? (rather technical ones like : true multithreading, externalizing of lot of scripts, and UI rendering, implementing isometric/better graphics support, maybe open-sourcing some parts of the code, and above all improve usability and FPS. Maybe he should even hire developers for that ?). Personnaly i have come to a point where i don't care about new features being implemented, because i cannot use old features to their full potential atm.

And last, but not least, mod developers like Mephisto have done much more "gameplay" features directly aimed at the average player in one year than Toady in 3. If Toady works on the gamebase and the modders do the gameplay/content work, then why is he satisfied with such a poor product base ?

Best regards.

PS : Please don't insult me, i just want to know what other players think about the game development philosophy.

Poch
« Last Edit: January 31, 2013, 03:54:15 am by Poch »
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #1 on: January 31, 2013, 04:04:44 am »

Rather than looking at DF as a product to be consumed, with a price tag-- I look at DF as an art project, or a piece of performance art.

Some of the obstacles involved with its unarguably poor implementation (many of the data structs in the game could be better organized IMO) actually contribute to a more unique experience than a perfect implementation would provide. That is to say, overcoming the problems is itself part of the enjoyment, and people that enjoy solving problems or discovering quirky behavior get a unique rush out of discovering those quirks. This is evidenced by your own post; you went through an extraordinary degree of fact finding and fact checking to benchmark the game, and share that quirky behavior with the community.  The mere act of doing this has brought you an experience you would not have experienced with a less quirky game.

Because continued development and inclusion of new features constantly changes the landscape of that quirkiness, the game continually provides challenges to those that enjoy looking for and exploiting obscure behavior in systems. The revelation that there are additional levels of penalty that need to also be addressed, such as by this revelation you have provided, only serves to better refine how one should seek to uncover and exploit such unexpected features.

Supporting toady financially for this continuously evolving piece of performance art is a form of assurance that the flow of system change will not terminate, removing all further hope of discovering and manipulating new behaviors.

This game boasts an obscure, difficult to master, and quirky interface, because that is the desired platform for its intended audience; people who enjoy looking for, and exploiting quirky behaviors in complex systems.

I therefor conclude that the less than optimal implementation of the game, as it currently stands in terms of execution cycles per unit of game time, is actually a desirable feature in and of itself, when viewed from this standpoint, as long as it remains within an arbitrary window of penalization against gameplay.  EG, as long as FPS death remains a sufficiently marginal threat, the act of looking for ways to mitigate or control FPS death itself becomes a gameplay feature. Take for instance, the science that NW_Kotaku performed concerning the impact of item creation, item deletion, and item export off map, in terms of memory allocations, savegame filesizes, and reductions in raw FPS-- or even the motivation behind such intriguing inventions as atom smashers, obsidian cast trash receptacles, or even the development of DFHack plugins, like Fastdwarf.

If the game were perfect, and unexploitable, it would not be fun to play with, research, and break on command.

an imperfect game, is therefor, what makes it perfect.
Logged

TruePikachu

  • Bay Watcher
  • Accomplished System Administrator
    • View Profile
    • cDusto (my personal server)
Re: Weird framerate issues due to embark site : very annoying
« Reply #2 on: January 31, 2013, 04:29:46 am »

1. The game is still in alpha.
2. Demonic Fortresses slow the game down because of the sheer number of creatures contained within
3. Rivers (if untouched) should not slow the game down much if at all
4. Your different sites might not take into consideration underground population, etc.
5. Volcanos, if untouched, should not affect the game much if no creatures or objects get close to it

I don't get the kinds of FPS issues you are reporting for usually at least 1 year, and I'm on a laptop, using 4x4-5x5 embark tiles, and rather deep embarks. I run with an upper limit of 100FPS (1 year is 1 hour). 50FPS is usually reached by year 2 or 3. And it hovers around 30FPS from then on. This changing FPS actually is a blessing; the game runs slower when more things are being done; more things that could potentially end in disaster, as many things can result in Fun. This makes it so that problems can be caught sooner (in-game time).

Things that you have to consider when you state 'high-end systems':
1. DF is primarily single-threaded; SDL might create some threads, but the core DF logic is a single thread. As a result, only one CPU/core is used for the main logic
2. RAM speed is another limiting factor, from what I've heard. If the RAM is too slow, it will take longer to process all the data per tick.

Caveins do not affect game speed at all except during digging, some machine activations, and construction. The game does not check gravity on tiles every tick, but rather whenever the state has a chance to be changed.

EDIT: Embark size
EDIT: Caveins
« Last Edit: January 31, 2013, 04:34:36 am by TruePikachu »
Logged
He likes Pokémon, composing ≡«☼characters☼»≡, Windows for its compatability, Linux for its security, and Pikachu for its electric capabilities. When possible, he prefers to consume pasta. He absolutely detests Apple.

Di

  • Bay Watcher
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #3 on: January 31, 2013, 06:11:47 am »

Ah yes, yet another smarty-pants who thinks he knows better. Now that we're done with that
Maybe i'll get insulted for saying this
part, let's move on.
I'd like to say that actually I feel the same pain, friend, but your ways are wrong.
Firstly:
What seems obvious too, is how poor the programming is to yield such results.
Actually it's not that obvious. I've once tried making a program to solve one equation and it hung my computer for a good ten minutes, df is actually solving a a dozens of those continuously. Take a look on other projects, they often not only have more critical bugs unfixed for years but also add new ones to areas previously fixed with new releases.

But your main mistake is here:
he has absolutely no idea what he is doing / what he should do.
He has quite a clear idea of what he is doing and should nothing.
He started this project to sate his itch for creation not to cater to the wants and likes of an
"average" player
So it's "take or leave". I for one am sticking around for quite a while but I'm not going to mail him with requests for doing teach Toady of game-making when my laptop won't be able to handle the game or when the game wanders too far from my vision of it. I'll just pack up and leave, and there's nothing bad about that.

And I find toady a dabbling conversationalist at best too. :P
Logged
Quote from: Creamcorn
Dwarf Fortress: Where you meet the limit of your imagination, moral compass, sanity and CPU processor.
http://www.bay12forums.com/smf/index.php?topic=103080.0 Fix sober vampires!
http://www.bay12forums.com/smf/index.php?topic=91442.0 Dwarven Cognitive Science

Rutilant

  • Bay Watcher
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #4 on: January 31, 2013, 08:57:10 am »

Take a look on other projects, they often not only have more critical bugs unfixed for years but also add new ones to areas previously fixed with new releases.


I wouldn't say often..  Not to this degree.

It is pretty ridiculous how many things I had to get binary patched to make the game playable.


Also one embark year is absolutely nothing - I run at 50 gameplay fps and a year is over in no time at all and not a lot really gets accomplished... a 10 year fort is 'maturing' imo, and if you run a breeding only fort, one year is absolutely no time at all in terms of progress.


And finally let's not start using DF's inclussion in the MOMA turn everyone into an instant art snob - DF is not just 'art', DF is an 'artful video game'.  It's still a game, and gameplay has an artistic value all its own (Flow, Portal, etc).   It doesn't mean people aren't allowed to provide testing feedback - alpha testers, remember?


To Weird;  FPS management is not fun, Fun, !!FUN!!, or even amusing.  It is not part of the enjoyment.  You're being silly.   :P
« Last Edit: January 31, 2013, 08:59:10 am by Rutilant »
Logged

Naryar

  • Bay Watcher
  • [SPHERE:VERMIN][LIKES_FIGHTING]
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #5 on: January 31, 2013, 09:02:00 am »

Is the game even playable at more than 200 FPS ? I generally consider 150 optimal, 100 good, and 50 slow (but it only happens in my old forts)

also, if you don't like some parts of the game, mod it.
« Last Edit: January 31, 2013, 09:04:07 am by Naryar »
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #6 on: January 31, 2013, 01:42:14 pm »

Rutilant:

I dunno... I honestly find that kind of thing to be interesting and enjoyable. I often spend more time poking and prodding at games than I do actually playing them. squeezing fun behaviors out of complex systems that the designer didnt intend is one of the things I find most enjoyable about DF. 

To each his own, i guess.  (But I really do think he could have used better memory allocations. without looking at his sourcecode, I cant really comment on how he's doing his computations, but from the structures in memory, he's committing a sin many programmers make, by assuming memory and CPU time are infinite commodities he can allocate. I learned to program when computers still only had less than 1mb of RAM installed, and learned to be more miserly and precise with my allocations. *shrug. Some of it could well be inefficiencies in SDL and the other libs he calls though. Again, I'd have to see his source to know for sure, and out of respect, I dont feel like putting DF through a decompiler. I would say he's doing it on purpose to speed up execution of certain computations by exploiting page alignments and the like, though. I agree about the absurd numbers of computations per second though. The most aggressive program in terms of raw CPU I ever wrote was an aggressively recursive prime number checking routine for getting a pseudorandom number from the PRNG, and using it with a custom encryption program I was writing. Ever tried to exhaustively verify that a 32bit integer is prime in a timely fashion? Hehehe. Still, True clean-rooming the behaviors of the game is a funfilled activity, for me at least. Again, YMMV.)
Logged

Rutilant

  • Bay Watcher
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #7 on: January 31, 2013, 01:52:03 pm »

Huh.  I never looked at it that way;  To me it's just an obstacle to me doing things I'd like to.  You have to be very careful with your map because once it's "spoiled" it can often be hard to get your FPS back.   To me it's pretty much just a cruddy ceiling on what you're allowed to do.

It puts a limit on how much water I can incorporate, the size of my fortress, the scope of my projects, the lifetime of my fortress, and makes me play this sandbox in a very conservative and self-limiting manner.  Small embarks, small water features, reduced cave layers, small industries designed to automatically destroy most of their output, small dwarf count, eventually I need to turn off things like Weather and Temperature.  /rant

I've always just seen FPS management as depriving me of things to do in the game. :< 
Logged

Tevish Szat

  • Bay Watcher
  • [PREFSTRING:diabolical schemes]
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #8 on: January 31, 2013, 02:18:52 pm »

Blessed with an i7 (in a laptop, no less), I don;t often find FPS to be an issue until a fort has entered supreme degeneracy, and I could probably fix a great deal of that if I atomsmashed "junk" wealth and spare stone rather than quantum stockpiling stone and just trading my crafts.  If I took the measures everyone else seems to, I'd probably happily run late end 4x4 forts at 20-30 FPS, which while slow is frankly acceptable.

Decreasing FPS is a bug that happens to be a feature.  if DF ran my 250 dwarves at 100 FPS, I'd barely have control over the mess.  if it ran at 1000 FPS even with the starting seven, I'd either spend 90% of my playtime paused, or lose to lacking twitch reflexes when something bad happened.
Logged
A medium-sized humanoid fond of fantasy and science-fiction.

Tevish Szat likes books, computers, board games, and cats for their aloofness. When possible, he prefers to consume hamburgers and macaroni and cheese. He needs caffeine to get through the working day.

Trif

  • Bay Watcher
  • the Not-Quite-So-Great-as-Toady One
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #9 on: January 31, 2013, 02:23:25 pm »

PS : Please don't insult me, i just want to know what other players think about the game development philosophy.
*sigh* Fine...

What seems obvious too, is how poor the programming is to yield such results. I mean come on, losing 10% FPS every minute to finally end at 20% of the initial framerate after 20 minutes is completely ridiculous. Or pathetic. Or both.
Well, there is a reason that the default cap is 100: that's the intended speed. I couldn't handle an FPS of 300, and at a playable cap I never noticed any FPS drops. Except for the usual reasons in the later years, of course.

Even with years of experience and the greatest efforts from the player, and the use of many 3rd party fixes or improvements this game is still merely playable on very high end computers (excepted for i7 who are wonderful processors not everyone can offer).
Well, since DF is almost single-threaded, an i7 won't do much better than a Pentium 4. RAM latency is the biggest issue I believe.
I don't get the "still merely playable" part, though. I found vanilla DF to be quite playable on most PCs.

I find it a bit disappointing after years waiting for improvements regarding the performances and usability of the game. But now, i just realized and measured how stupid and intense the framerate drop can be, even without doing a thing, just by being on the "wrong" place !!! So in order to play this game we have to disable all of its cool features : volcanoes, foes, hell, rivers, industry & crafting, trading, fighting hordes of ennemies, clothing, large embarks...
and the FPS cap...

Maybe I'll get insulted for saying this, but combined with the fact that toady leaves very critical issues (bugs, or UI limitations, or so) disregarded literally for YEARS before fixing them,
Regarding bugs: game-breaking bugs get fixed almost immediately. Toady doesn't seem to care much about fixing exploits, fine by me. The bugs that get ignored usually affect parts of the game that are supposed to get a re-write anyways, so fixing them before that would be a waste of time in the long run. Can be aggravating to the player, but there is only so much time in Toady's life.
Regarding UI issues: Toady is very aware of these, just listen to any interview with him. The usual way of software development is just to finish the features before polishing the UI. And the current interface is manageable once you get used to it.

and the fact he is spending so much time adding new pseudo-useless features almost no one cares about
Speak for yourself, please.

makes me think, in the end he has absolutely no idea what he is doing / what he should do.
I thought the idea was pretty clear.

Dwarf Fortress is the best game i ever played, sort of, but after years trying to have fun with it, i realize i may have spent more time fixing problems than enjoying the game. When you see projects like Gnomoria getting weekly updates, and being focused on critical things, i don't know what to think.
Play whatever you like? There isn't an exclusive contract for one or the other.

Support Toady and help him improve the game ? I really feel like he doesn't care about framerate, bugs, usability, "gamedesign", and the players.
I'm sorry you feel that way.

Mantis bugs are opened forever before getting fixed. Toady's lack of communications skills is not helping either. I almost never see him posting on the forums or directly reacting to reported problems.  And the "news" and "talks" are very hard to understand, with very unclear informations. I don't know who is interviewing him, but Q&A sessions with normal player would be a good thing imho.
If you're referring to the DF Talk, Rainseeker and capntastic are just two guys from the forums, pretty normal players in my book. If it's too advanced for you, there are lots of interviews, most of them for a non-playing audience.

He seems to code/communicate mostly for him and some sort of very strong, fanatic player-base. Not for the "average" player.
Well, whatever "average" means, but I guess I can agree with that. Thankfully, the fanatic player-base is very helpful.

Or a DF player could give 10$ to Gnomoria developers which seem to have a way more interesting future than DF ?
More interesting than this future? I doubt it.

I mean if things keep going like this, in a few years, DF will still have its strong fanatic player-base from day one, but all other players like me will be gone, because Gnomoria is way more entertaining and is evolving very fast, in the good way. Unlike DF.
Seems like the day-one player base got a lot richer and/or more generous over the last years.

All good players have lost great fortresses to framerate. In the end, the fun is what matters, not the exactitude or the variety of things we will never use. Temperature or pressure for example cost way too much performance regarding to the benefits to gameplay.
I dunno, Boatmurdered would've been a lot less hilarious without temperature. (Turn it off if you don't need it.) And cutting pressure? You should flood your fortress sometimes; in the end, the Fun is what matters.

And you, experienced or beginner player what do you think ? Do you hope for a brighter future ? Do you want cool, experimental features even if you can't use them ?
If you can't use it, it isn't really a feature. So, no, I guess?

Will you switch to any another game with better UI/performance as soon as it reaches the spirit/feature level of the fortress mode ?
If there was another world generator like DF and better, then sure, I'd play it.

I'd really like to hear advices regarding this. If i am wrong and taking shortcuts, please correct me. If you feel like adding countless features is more important than having an enjoyable product, please explain why. Do you think (like me), toady should spend at least a few years improving the game without adding a single "game" feature ? (rather technical ones like : true multithreading, externalizing of lot of scripts, and UI rendering, implementing isometric/better graphics support, maybe open-sourcing some parts of the code, and above all improve usability and FPS. Maybe he should even hire developers for that ?). Personally i have come to a point where i don't care about new features being implemented, because i cannot use old features to their full potential atm.
If you ask me, Toady and Threetoe should do whatever the hell they want. That worked pretty well so far.

And last, but not least, mod developers like Mephisto have done much more "gameplay" features directly aimed at the average player in one year than Toady in 3.
 If Toady works on the gamebase and the modders do the gameplay/content work, then why is he satisfied with such a poor product base ?
I can't follow you here. Why should Toady be satisfied? The game is about 34% done, he has been adding features for over 6 years without a break. If you dislike some parts, that's fine, but don't assume that Toady thinks the same.

Thanks for reading,

  Trif
Logged
Quote from: Toady One
I wonder if the game has become odd.

Michaelsoftman

  • Bay Watcher
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #10 on: January 31, 2013, 02:24:52 pm »

Rivers do have an effect on FPS eventually.

Try embarking on a site like my last, it was a major river with a smaller stream on a cliff leading to a waterfall into the river.

My fort ran at max speed for a while, but when I started getting huge FPS losses, I used DFhack to spawn magma to dam off the one end of the major river where the water flows off the map, and the waterfall too.

I regained like 75 fps.
Logged

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #11 on: January 31, 2013, 02:39:59 pm »

As far as development goes, I am content to wait and see.  DF has provided me with more entertainment hours than any other game in the past 10 years.  I can't ask for more than that. :)  If you have an issue with Toady, maybe email him? PM him?  Personally, I cannot program a game such as DF.  So, I am willing to enjoy the fruits of the labors of someone who can.

I've never seen my FPS numbers drop like this over time.  Sorry Poch, I can't confirm your observations.

I play vanilla 34.11 at 500FPS, and if I'm not at 500FPS, generally I'm doing something ridiculous like draining/filling a 20x20x10 magma cistern, or have 100 creatures on the embark all pathfinding, or am trying to engrave ten completely mined out z-levels at the same time.
I have, in the past, played a fortress (that included three fully exposed caverns) for 27 years, in-game time.  I just loaded that save, and it runs at 500FPS.  It even has a waterwheel, flowing water from an aquifer to a map edge, 360 constantly moving upright spikes, 1/4 of an entire Z-level as a tree farm, and a minecart cyclotron.
With temperature, cave-ins, and weather all enabled.

Flow calculations, Pathfinding, and absurdly large amounts of death-event-history checks have been, for me, FPS headaches.  But not what you're seeing.  Also, how do you know you have a demonic fortress on these/this embark(s)?

If it were me, I would start with something more fundamental, like DPC Latency, unoptimized operating system, abnormally high context switching, or some other issue that may not be immediately apparent (your symptoms sound like the effect of process logging, debug logging, or some other unnecessary I/O or memory intensive feature that may be enabled)
Perhaps inspecting memory activity, df process specific I/O, and system-wide disk I/O might lead towards a root cause?  Hell if I know. :P

Hyndis

  • Bay Watcher
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #12 on: January 31, 2013, 02:40:14 pm »

On the whole, I think DF is a brilliant, amazing and highly entertaining game.


That said, its not perfect. Its not perfect by a longshot. It has some serious flaws that have been ignored for years and years, and even made worse by the continual addition of new features.

I'm all for adding in new things, don't get me wrong. The problem is that in the relentless pursuit of perfection the game is turning into a bloated resource hog. I think pathfinding and temperatures are the two biggest causes of this. FPS death will doom every fortress.

IMO there needs to be an effort made to optimize the game to improve framerate. I don't know how this should be done, but the game needs some sort of optimization. Perhaps it could be multi-threading to split pathfinding and temperature to other threads. Perhaps it could be making pathfinding and temperature more efficient. Perhaps it could be done by abstracting some calculations so they are not quite as precise but run much faster.

In a perfect world, I would love to have a full 16x16 embark, with thousands of dwarves. A full kingdom of dwarves. Numerous towns, mountain halls, farms, roads, walls, nature preserves, lakes, rivers, hills and mountains. It would be wonderful. However due to the state of the game and the problem with efficiency this is impossible. The game engine itself should be able to handle this, but due to how expensive pathfinding and temperature are in terms of CPU cycles, and the game being limited to only a single thread, an embark like this would be running at probably 1 fps. It would not be playable.

On the whole I love the game, but I think the low hanging fruit issues should be addressed, as well as long running problems that have not been addressed. The low hanging fruit would be bugs that could be fixed in 5-10 minutes. Simple little things that have stuck around for a while now. And also an effort should be made into some sort of optimization so that the game can actually support all of these wonderful new features being added in.
Logged

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #13 on: January 31, 2013, 02:56:51 pm »

One way to handle it, would be for each pathfinding routine execution, spawn a child thread to do it with a spinlock or a mutex to a shared memory location, and a local-thread-only memory store, and a master pathfinding thread to order the results of the child threads, and respawn/restart failed child threads.

This would allow multiple entities to calc a path simultaneously (up to as many cores as you have) and parallelize execution tremendously.  EG, if instead of making all queued up Find_PATH calls execute serially, you assign each a slot in a communal struct with a designator, and allow them to compute paths concurrently, with the "nanny" thread ensuring that all pathfinding threads terminate before continuing.

Further speedup could be obtained by re-using path data for proximal entities seeking paths. (EG, If Urist McWoodcutter is seeking to get outside the fortress, and Urist McHunter is also seeking to get outside the fortress, and both are in the legendary dining hall, then a good portion of thier paths will be identical.  Computing Urist McWoodcutter's path, and appending changes appropriate to Urist McHunter's path as a copy, would speed up computation immensely. Both will basically follow the same path in and out of the fortress, and their close proximity to each other means a lot of data can simply be copied from one to the other, and then slightly doctored.)

Other things I would seek to multithread would be fluid dynamics, and dwarven happiness. I would leave things like lever toggles, bridge modifications on active path routes, and the nanny thread on pathing on the main executable thread.



Logged

Urist McDruid

  • Bay Watcher
  • Never underestimate the power of the Scout's Code
    • View Profile
Re: Weird framerate issues due to embark site : very annoying
« Reply #14 on: February 01, 2013, 03:30:11 am »

Toady is not making the game for you. It is for him. He is sharing it. play it if you like, or don't.
Logged
Pages: [1] 2