Dwarf Fortress > DF Dwarf Mode Discussion

An experiment regarding map size.

(1/4) > >>

Amalgam:
I've done an experiment. The purpose: to determine how severely map area affects framerate, in matematical terms. Put simply, I've embarked on a 16x16 (area 256) site with no fps and recorded an estimated average of the fps I got: 110. As a control, I embarked on a 4x4 (area 16) site and recorded the same thing: 350. Those estimates are as accurate as I could get them with the fps counter constantly flickering, I noted the lowest common value in tens and the highest value in tens and went with a middle value, basically the difference between the two values divided by two and added to the lowest value. I'm awful at math and it's been a while since algebra so I'm not sure what to call that! I've done my best to eliminate any variables by lowering the priority of certain processes that were occasionally eating up cpu cycles and raising the DF's priority to "above normal" - the highest I could go without experiencing interface lag. Both embark sites were in a rocky wasteland with no water whatsoever, though the 16x16 area had more z-levels. It is incredibly hard to find a 16x16 site that is completely flat, but as far as I know z-levels only come into play when pathfinding is involved, and my dwarves were simply milling about the wagon in both instances. One thing is certain: There is very significant slowdown on larger maps that is not caused by your dwarves pathing any great distance, whatever the cause.

This is where you guys come into play: you need to do the last step. As I've said, I'm terrible at math and I can't figure out how to determine a relationship between these results, so I apologize if I'm overlooking something obvious. Maybe it's too abstract for me. In any case, I'm fairly certain someone with a little knowledge in math can come up with something. The only thing I've figured out is: for an area 16 times larger, fps will be altered by a factor of 0.314 (31.4% I guess), or nearly a third as fast. There is definitely not a linear relationship here. Two things to figure out:


* How much does a single local tile lower fps?
* What are the expected fps values for a 6x6 embark area? What about a 4x4 one? 3x3, 2x2, 1... This would be useful for purposes of comparison.
Again, sorry if I'm being an idiot. Help would be appreciated! :)

EDIT: Ugh. Kinda tired >.>

ed boy:
Well, let's assume that on a featureless map like what you had, FPS follows the following equation:

f=klme
where f is fps, k, l and m are constants, and e is the number of embark tiles.

when e=256, f=110
when e=16, f=350

when e goes up by a factor of 16, f drops by a factor of 3.18.

I would need more experiments before I could calculate any values.

MrFake:
You'll have too much variation in sites to get anything accurate with only two maps and two data points per map.  Z-levels, weather, creatures, idle dwarf behavior, finicky processor, alignment of the planets, etc.

Bar an accurate sample, you can just embark on a good number of sites and note the statistical measures of the FPS for each: mean and standard deviation are typical, mean is appropriate for something this coarse.

What you're calculating is an average.  Since there's no proper statistical measure for the average between minimum and maximum values, it's just a plain ol' average.  Since it's very possible that you captured outliers, then it's also very possible those aren't very accurate measures at all (please don't take offense; it's not wrong, just not complete).  A better method is to take many FPS readings for each map.  Just sit and watch the FPS counter and note down every number your eyes register (a precision of 10 FPS is perfectly fine).  After you've written down a good number of them, take the average of them all.  That's a fair measure of FPS for each map.

To relate this to map size, then embark on a number of NxM maps with a lot of variation: water, magma, HFS, chasms, aquifers, z-levels, biomes, civs, and pets just for the hell of it.  With that, you have an average for the FPS as related specifically to map size (by the way, you can create a distribution for each of these measures to get a better idea of how the numbers skew).

Finally, to create a relation between map sizes to FPS, you need more than 2 map sizes.  Two can only give you a linear relationship at best.  Three is necessary for anything non-linear.  Five or more is good to verify your model (like ed boy's).  To simplify things, you can discard multivariate map sizes (NxM) in favor of map area, but that's a critical assumption.

bluea:
You might be happier with this method:

Prior to embark, buy 7 picks, set 7 miners. (+ food, beer) Make sure all the FPS limiters are turned off.
At embark, pause. Designate a large column of staircases from ground level to the bottom right next to the wagon. Shift your display to the very bottom layer designated for digging.
Start a stopwatch while unpausing.

The instantaneous FPS flickers up and down for all sorts of reasons - but you should get pretty consistent wall clock times given identical starting positions.

Amalgam:
Heh, thanks everyone! I was actually pretty stoned last night since I'd been awake for... What, 16 hours? And that after hardly getting any sleep the night before. I noted values in tens that looked like outliers when doing the average, so I think it should be fairly accurate, but I'll probably discard that anyway. So basically, I just need to get the mean of the estimated averages for several sites of the same size to conclude the fps for a site that size? I'm a little unsure about embarking in a site with magma or chasms, I'd assumed those were variables I'd want to eliminate... Would I really get a more ideal value if I averaged those too?

Also, I'll try to get some samples for some areas of different size, if that's what you need. Does 5 different samples for 4 different map sizes sound thorough enough or will I need more?

EDIT: Oh, also. I found in a previous experiment that water volume is the main culprit of lag when embarking on a stream. A 16 long brook probably brought my fps down by 50... For those who really want a wide river it might be ideal to squish the map size down to 3-4 tiles or soso you only have a small segment of it on site, and make the map a little longer to compensate for lost space if you want.

Navigation

[0] Message Index

[#] Next page

Go to full version