Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - janglur

Pages: 1 ... 33 34 [35] 36 37 ... 45
511
DF General Discussion / Re: Advanced Tweaking (Warning: !!SCIENCE!!)
« on: September 25, 2010, 08:53:22 pm »
Oh no, I understand entirely.  It's just that some tweaks only make a difference at high FPS, and some only at low.  Sadly, FPS is the only benchmarking available that's relevent to DF.  Synthetic benchmarks can be DRASTICALLY inaccurate on the grounds that they behave nothing like the real application.

Rest assured however that each tweak was tested across no less (but maybe more) than ten different maps of varying size, age, clutter, and activity, at the exact same frames and time periods.  (IE, I didn't test, save, then load and test again.  They were all tested on neutral grounds.)

I tried to only post those tests that were relevent, in FPS, on a fixed scale.  IE, the restarting made the same maps jump by a factor of ten or more.

Others were more unilateral, such as the CPU cores clocks-  the FPS drop was proportional to the frequency.  IE, 1000 went to 1200, 100 went to 120, 10 went to 12.


Also, one interesting note, I could not embark on an area larger than 42x42 in any but a dedicated-core, ganged and optimized site.  It ran well below 1 FPS.  To say it was crippled was rediculous.  After an hour, they moved the twelve spaces to begin mining.  X.x



Edit:
This is also why I completely omitted what various driver versions did, because they had no clear and substantiated link, and no differences that were appreciable.

I also omitted any differences below 200 FPS.  Going from 150 to 200 isn't really pertinant, and 200 to 400 is as simple as designating mining.  I made a strong effort to only include findings that made a reasonably significant improvement.
VRAM, for example, made lots of G_FPS differences at extreme FPS (1000+), but noone plays at that realistically.  In real forts, it made absolutely no difference on FPS or G_FPS.  Certainly not enough to bother tweaking to accomplish.

I follow the '2% rule'.  It the FPS didn't, under heavy load, make an average of 2% of better improvement at a very severely lagging fort (10 FPS), I didn't bother to report it here.

So, take all my research with a grain of rock salt, but rest assured that although it may not be as solid at Granite, it's as valuable as Limestone.

512
DF General Discussion / Re: Advanced Tweaking (Warning: !!SCIENCE!!)
« on: September 25, 2010, 08:15:46 pm »
Oh, also, another note:

Using memory that is paired (sold together in one package as paired) equal to your memory controllers (2, in the case of Phenom II's) is ideal.

In the vast majority of cases, this means two sticks in dual-channel work best, in unganged mode.

Using three or more sticks, or non-matching memory will stress the memory controller on the motherboard (or CPU, in AMD's case) and can hurt performance, or worse, cause instability.

Remember, it takes twice the work to address 4 sticks than 2.

Also, smaller amounts of memory seem to work better, IF AND ONLY IF you still have adequate amounts of RAM.  Not enough RAM will KILL your FPS.  But having 24 GB is also counter-productive.  Think of it this way:
1 GB 800 MHz memory in single-channel reads at 3.2 GB/s.  So, it takes 1/3rd of a second, roughly.
2 GB 800 MHz memory in single-channel reads at about 3.2 GB/s.  So, it takes twice as long as before!  Realistically this means it takes a bit longer for the RAM to search through and find the requested data for DF.  (Not twice as long, more like 5-10%, because RAM can semi-non-sequentially read)
1 GB 800 MHz memory in dual-channel reads at 6.4 GB/s.  So, 1/6th of a second.
2 GB 800 MHz in dual channel is 6.4 GB/s.  So, 1/12th of a second.  See how that works?

It's a LOT more complex than that, but you get the idea.  Make sure you have plenty of RAM, but don't go overboard.  My 4 GB is plenty (2x2 GB)


!!SCIENCE!!:
The following diagram may help.  It uses 'made up' tliness, but are proportional to give you an idea of the differences in design and the impact they have on responsiveness, namely in how some setups can cause many more steps to access specific data.

http://207.177.39.129/Memory.JPG

513
DF General Discussion / Re: Advanced Tweaking (Warning: !!SCIENCE!!)
« on: September 25, 2010, 07:44:40 pm »
Okay, so, what are the implications of this for those who are not quite technologically inept but fairly close to it?

I'm currently using a dual core 2.00GHz, with 4GB of RAM. The computer I recently ordered will have a 2.4GHz quad core with 8GB RAM.

How much impact will those two point alone have on the performance of DF, and what could average joe change if he wants to increase efficiency in a way which will not risk everything going FUBAR due to mistakes?

Simple:
Turn Pagefile on.  This is usually on by default.  Allocate a fairly good size (I reccomend 4 GB).  The minimum and maximum should be the same.  This way the pagefile doesn't get (as) fragmented.

Easiest:
Use ProcessExplorer to switch *everything* to cores 0-3, and dedicated DF to Core4.

Easier:
Close all unnecessary programs, and I mean ALL.  Turn off or stop any services or applications (especially antivirus) not in use.  (Since your AV is off, it's a good idea to disable your internet as well and temporarily stop the services.)

Easy:
In the CMOS/BIOS settings, turn memory to Ganged mode and lower your RAM timings as low as it can stand.  Try with the highest first, and move them down one by one.  Test using something like Memtest86+ or Prime95 for several hours, and then repeat until it becomes unstable.  Once you find the best possible, test it for 12+ hours to ensure perfect stability.  If it fails, move it back another bit.  Adjusting timings is safe for hardware (but can cause data corruption and bluescreens in windows), so Memtest86+ is reccomended, as it doesn't touch the harddrive.  Note that changing the *frequency*, however, can cause failure of hardware.  Same for voltage.

Not As Easy:
Disable Cool'n'Quiet, Spread Spectrum, and any other power-saving or heat-reduction options.  This can cause overheating and failure of components if not thoroughly cooled.  Not reccomended on stock heatsinks that come with the CPUs.

Hard:
Manually adjust the frequencies of the CPUs, core buses, RAM, and GPU using one of many available programs.


Extra tips:
Go for dual core at minimum.  Having 3 or 4 cores makes no bigger difference.  Phenom II are the best AMD options.
After that, go for frequency.  When the 975's come out, they are going to be quad-core 3.6 GHz CPUs, stock.  These will be the best AMDs for a while.  Remember, DF is single-threaded, meaning it depends on *one* core to be very, very fast.  Also, set it to a single core, or else it slows down a LOT from rapidly switching between cores while running.

514
DF General Discussion / Advanced Tweaking (Warning: !!SCIENCE!!)
« on: September 25, 2010, 06:39:31 pm »
Part 1:

So I have been doing a LOT of research into what DF seems to prefer in terms of hardware and software settings, and i've uncovered a few tips to squeeze that extra 1% out when you really need it.
I am only testing with Vanilla DF, the standard map generation settings, nothing changed or disabled.  This is purely a test for research on the PC and hardware itself, not modding DF.

The Threads Dwarves Weave:
As we all know, DF is largely single-threaded, which has led to a lot of myths to study regarding it's performance.  What i've discovered for tweaks are as follows:
DF enjoys being dedicated to a core.  Simply saying 'Stick to core 2' will improve performance a good 5-10%, though this is largely noticeable with pathfinding and only at already high (100+) FPSs.
This can further be enhanced by un-dedicating every other system processes and applications (with windows task manager or, better Process Explorer) to a different core, leaving DF it's onw dedicated CPU and cache.  This gives another 5-20%, depending wildly on how much crap you actually have running, how much cache your cores have dedicated, and the phase of the moon.

Stockpiling Data:
Based on the above, a logical theory is that having more dedicated cache would improve performance.  I tested this theory by setting the L3 cache allocation to 'All Cores' and 'DSP only'.  DSP Only is a setting meaning only the main core (core0) has access to using L3 cache.  Thoretically, in my system, this means an extra dedicated 6 MB of cache for DF.  However my testing showed quite the opposite result:  FPS actually dropped by a tiny 2-4% margin on initial embarks, and then became quite even after the '100,000 stone' test.  Thus suggesting allowing the L3 to be used by other cores is better.  I hypothesize this is because what can't fit into L1 and L2 goes to RAM if the L3 is not accessible, creating more cache competition in RAM.  More on this later.

Gangs and Undead Gangs:
I also tested whether Ganged and Unganged memory modes (on 2 sticks of Dual Channel memory) would work better.  First, an explanation.  Ganged and Unganged refer to CPUs with multiple onboard memory controllers. Namely, my Phenom II has two dedicated memory controllers.  These settings refer to how they are accessed.  Unganged means that your memory is effectively divided in half, and each of the controllers address it on a 64-bit lane.  So, 2x64bit.  Ganged means they work together, on a single 128-bit lane.  What this means in performance is that Unganged typically benefits multi-threaded tasks or extreme multitasking, while Ganged benefits single large transfers or single-threaded heavy duty apps like Dwarf Fortress.  My testing concluded almost no gain on initial embark, but a major gain in ultra-large (12x12+) maps and cluttered (100,000+ stones) tests.  This may be also due to RAM competition.  But Ganged is definitely better, by a 5-15% margin in large or older fortresses.

Lost but Not Forgotten:
Interestingly, although DF is single-threaded, it relies on hardware to perform many tasks.  And much of your hardware depends on the CPU.  As such, overclocking only the DF core is not the best solution:  Overclocking the not-in-use cores also helps!  Depending on the difference, it can be as much as a 60% FPS boost!  (This was testing with a 3.4 GHz core [DF dedicated] and two 100 MHz cores to save power and reduce heat.)  FPS suffered horribly with the other cores set to power save modes, so disabling Cool'n'Quiet or other features will help, as will synchronous overclocking.  This makes most effect on pathfinding and doesn't seem to affect clutter or map size speeds much.

RAM Competition:
The major killer of fort FPS for me has not been pathfinding, catsplosions, or even liquids, but in fact clutter!  Noticing the resource usage of DF over the course of a fort's 10 years, massive stone stockpiling (and crafts, and food, and waste, etc.) always crippled the system irrecoverably.  This is stemmed from simple RAM usage:  Not only does RAM usage increase from the much higher number of entries (though not as drastically as I expected), the number of read/writes, especially reads, on RAM increased astronomically.  It went from only a few tens of thousand a second (a few MHz) to a full bottleneck at well over 1 billion a second (Full 1066 MHz and up).  THIS is what has been behind the issue.  So I began testing RAM.  The first thing I noticed was that increasing the RAM's frequency, such as overclocking, made a fairly linear improvement.  A 5% increase in speed resulted in a 5% increase of reads, and about 1% in FPS.  However, I then clocked to 800MHz and dropped the timings from 5-5-5-15-30-2T to 4-4-4-12-26-2T, and the increase was much more noticeable.  While the reads/sec went down, the FPS went up!  I'm not entirely sure how this works, logically, and the drop from 1066 to 800 did cause overall damage to FPS.  So I went for a middleground.  Attempting to keep the FSB/NB, HT and CPU at 2.8 GHz, I clocked the RAM to 917 MHz at 4-4-4-14-28-2T timings, and got the best performance!  It beat both 800 MHz at 4 and 1066 MHz at 5.  This suggests that DF needs not only hefty througput, but moreso, rapid response time from memory and the memory controller!  Take this as you will.  The overall benefit was an increase from 20-24 to 22-28 FPS.  Not huge, but nice.
Reducing the number of services, programs, apps, etc. running will also reduce memory competition as less and less stuff takes up DF's insatiable consumption of accesses.

Give It A Break Already:
Although there does not seem to be a memory leak, DF gets a fair boost in FPS if you just save and exit (the client completely) every so often.  How frequently this makes a difference depends on your system's speed, as our P4 and Celeron test systems didn't benefit until many hours of play, while the Phenom II I use personally benefits after around 3-4 hours.  I'm not sure why this is.  Take it as you will.  The benefit is small, and proportional to how long since you closed it.  It increased FPS from 3-4 FPS to 15-30 FPS after I restarted from a 72-hour long nonstop Dwarfathon.  (There was also a lot of unattended Fun).  Readings were taken before and after the restart to ensure it wasn't from a sudden drop in pathfinding on dead dwarves or something trapped somewhere.

Goblin Processing Unit:
Another, albeit tiny, boost is in the videocard.  Using different driver versions on your system can make various improvements and detriments, and seems to vary from system to system and card to card.  I can't give a very solid prediction on this.
However the GPU is a key point.  A faster GPU of identical architecture gets a better FPS (and G_FPS) when operating at a higher frequency.  The test was done across an ATI 1300 and an AT 4830.  The 4830 was tested at 160 MHz, 300 MHz, 500 MHz, 575 MHz (default), 600 MHz, 65 0 MHz, and 695 MHz (max stable OC).  It increased linearly after 500 MHz, and drastically after 160 MHz.  We did the same test on the VRAM, and no frequency made any detectible difference good or bad, even at extreme OC and UC conditions.  This makes sense for the software rendering aspect being largely GPU based.

Go Flush Your Cold Buffer In You SCSI DASD:
Strangely, we tried enabling and disabling Virtual Memory/Swapfile/Pagefile/Disk Cache and the effects it had on DF.  I found that it is actually best to *enable* virtual memory and allocate a fair amount.  I assume this is the result of reducing the amount of clutter in the RAM and thus shaving off a bit more RAM Competition.  The effect was surprisingly substantial at a fairly steady 7-8% FPS improvement.  This has been the single best result short of CPU and RAM overclocking.



This concludes Part 1 of our tests.  Next, i'll be testing differences between equivocal Intel and AMD lineups.  This will cost more than the $80 on Part 1.  All for the love of dwarf.

515
DF Dwarf Mode Discussion / Re: Give me a nightmare.
« on: September 19, 2010, 11:40:26 pm »
I abandoned and reclaimed.  I *always* make my own party carefully.

It took a few attempts but I have a fortress going now.  Let me just say that breaching the underground cavern is no less viscious than giant skeletal eagles.

516
DF Dwarf Mode Discussion / Re: Give me a nightmare.
« on: September 13, 2010, 09:35:43 pm »
I have EXACTLY what you need. I'm playing on it right now, in fact. According to the finder, there's flux somewhere in there, and I suppose there's a good chance one of the cavern layers will provide the necessary water. Other than that, all is present: Magma, Sand, Skeletal Giant Eagles, No Aquifer, All Civs, 2x2 embark.

http://dffd.wimbli.com/file.php?id=3107

There it is. Go and dig, and see whether there's flux, fuel and water in there or not.

OH MAN, this is PERFECT!

Brutal and positively wonderful!  And so flat I momentarily had 2d flashbacks.  =D

This is perhaps one of the cruelest embarks ever, too.  Within seconds I lost two dwarves to a skeletal eagle, then when trying to rush a magma forge up, a fire imp finished me off.  I didn't make it to summer!
I LOVE IT!

517
DF Dwarf Mode Discussion / Re: Slowest computer
« on: September 12, 2010, 10:41:11 pm »
A 600 MHz Celeron.

All options off, 2x2 map, pocket world.

1 FPS.

518
DF Dwarf Mode Discussion / Give me a nightmare.
« on: September 12, 2010, 09:07:03 pm »
After getting bored with goblins and being able to successfully hold back (but not conquer) HFS, I have grown bored.  Adamantine does not go far with only six ingots.

Now, I want the nightmare to begin immediately.  I'm trying to generate such a map myself, but so far I have been wildly unsuccessful.  Maybe one of you can help (or already has) the ultimate in Dwarf brutality?

Requirements:
Sand
Magma (sea is fine)
Flux Stone (small quantity is fine)
Endless water (brook, lake, river, or underground) [If the map freezes over, it must have an underground source.]
No aquifer
Terrifying map with lots of *real* bad things, like ogres or nightwings or something garunteed to make my first month a mad dash for entrenching the wagon.  Hordes of bad undead also work.
6-tile or under map (3x2 or less) [For FPS reasons]
All civs (except maybe elf, they're optional.)  [This can be a curse, as the humans inevitable declare war as they are slaughtered]


Go ahead.  I challenge you to give me a map that is positively crippling but not unjust.  The kind of map where you start with a miner, farmer, and five well-armed soldiers to survive the first year.  *maybe*



So far, all i've got are puny skeletal marmots or a desert with little activity.  I need a zombie holocaust!

Seed #s and params, or map uploads are fine. (I may need a tutorial on how to use the params)

519
DF Gameplay Questions / Re: Weapons/armor/materials Comparisons?
« on: September 08, 2010, 01:20:36 pm »
Bronze seems to be weaker than iron and steel.

520
DF Gameplay Questions / Re: Weapons/armor/materials Comparisons?
« on: September 07, 2010, 09:50:42 am »
And my test shows them performing equally.  =/

521
DF Modding / Re: Bearmen! [Need help]
« on: September 07, 2010, 12:21:10 am »
Posted

522
DF Modding / Bearmen! [Need help]
« on: September 06, 2010, 11:09:11 pm »
So i'm trying to make a race of anthropomorphic norse bears, that are similar to dwarves in many ways, but bears.  And live in cold, frigid areas.

I tried modding dwarves' info but it crashes on worldgen if there are any bearmen left alive after histories.

If I post my templates, would someone be able to help me out?  (And maybe help me also make them more bearlike?)
Spoiler (click to show/hide)
http://207.177.39.129/entity_default.txt
http://207.177.39.129/creature_standard.txt

523
DF Gameplay Questions / Re: Weapons/armor/materials Comparisons?
« on: September 06, 2010, 09:20:21 pm »
I know this doesn't answer your question, but upon reading another persons post regarding material for warhammers and maces, steel beat silver convincingly after personal testing in arena.

Someone seriously needs to edit the crap out of the wiki, then.  I've been following it religiously and grown to question more and more about it.

524
DF Gameplay Questions / Re: Weapons/armor/materials Comparisons?
« on: September 06, 2010, 09:19:35 pm »
Or a silver mace with fifteen different kinds of freaking decorations.  Try to get a 200 stone+ hammer and set a new goblin home-run record.

525
DF Gameplay Questions / Re: DFVDIG Vein digging hack help
« on: September 06, 2010, 09:14:45 pm »
Correct.  Use k or dig designation and hover over (but don't designate) the vein, and it selects all *connected* undug and unrevealed tiles.

If you interrupt the vein, such as cutting it in half, you must do each half seperate.

Also, it only works on actual veins.  I haven't tried with lignite, but I know it doesn't work on, say, selecting all gabbro.
It works on all metals (including special stuff, but not over z-layers), bituminous coal, and gems.

It does not work on stuff like kimberlite.

Pages: 1 ... 33 34 [35] 36 37 ... 45