v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Editing 40d:Maximizing framerate

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.

You are editing a page for an older version of Dwarf Fortress ("Main" is the current version, not "40d"). Please make sure you intend to do this. If you are here by mistake, see the current page instead.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 2: Line 2:
 
Dwarf Fortress is an extremely CPU-intensive application that currently requires a fast, modern machine ([[System_requirements|recommendations]]).  The objective of this page is to help you reduce game lag, a crippling problem for many players.
 
Dwarf Fortress is an extremely CPU-intensive application that currently requires a fast, modern machine ([[System_requirements|recommendations]]).  The objective of this page is to help you reduce game lag, a crippling problem for many players.
  
There exists [http://www.bay12games.com/forum/index.php?topic=50514 an accelerated version] of DF.  It utilizes OpenGL much more effectively. You might want to give it a try. Due to it being an alpha of an alpha you can expect anything from wonders to utter failure; most notably, certain parts of the user interface are rather buggy, such as the selection of mechanisms to link to [[lever]]s.
+
Please mark all advice with the most recent game version it is known to work for.  This game is under rapid development, Toady One clearly intends to reduce lag where possible, and so methods that worked in, say, v0.27.169.33g may not a few months later.
 +
 
 +
== Advice for v0.28.181.40d ==
 +
There exists [http://www.bay12games.com/forum/index.php?topic=50514 an accelerated version] of DF.  It utilizes OpenGL much more effectively. You might want to give it a try. Due to it being an alpha of an alpha you can expect anything from wonders to utter failure.
  
 
=== OpenGL ===
 
=== OpenGL ===
Line 12: Line 15:
  
 
If your fortress makes use of any water transportation or storage, make sure each intermediate section delimited by floodgates is either at 0/7 (empty) or 7/7 (full) level. If a reservoir is only partially filled, liquids of different depths will slosh around and cause lag, and transitions between 3/7 and 4/7 depth can cause ''significant'' lag due to constant pathfinding recalculations (as 3/7 is safe and 4/7 is dangerous) if they are reachable by your dwarves.
 
If your fortress makes use of any water transportation or storage, make sure each intermediate section delimited by floodgates is either at 0/7 (empty) or 7/7 (full) level. If a reservoir is only partially filled, liquids of different depths will slosh around and cause lag, and transitions between 3/7 and 4/7 depth can cause ''significant'' lag due to constant pathfinding recalculations (as 3/7 is safe and 4/7 is dangerous) if they are reachable by your dwarves.
 +
 +
== Advice for v0.27.176.38c ==
  
 
=== World size ===
 
=== World size ===
Line 43: Line 48:
 
| [PRIORITY:HIGH]:||This option automatically makes the game run in high priority.  ||This will probably prevent your computer from effectively running anything at the same time as the game and, for some players, causes major lag in the DF interface as well. Using this is not recommended unless you have a dual-core CPU or better.
 
| [PRIORITY:HIGH]:||This option automatically makes the game run in high priority.  ||This will probably prevent your computer from effectively running anything at the same time as the game and, for some players, causes major lag in the DF interface as well. Using this is not recommended unless you have a dual-core CPU or better.
 
|-
 
|-
|[PRIORITY:REALTIME] ||devotes even more resources to Dwarf Fortress, but has been known to cause stuttering gameplay.  ||Increasing priority will make the game difficult to kill using task manager if it locks up. This happens because things like screen output and HD access are <em>not</em> entirely part of DF. However, a dual-core machine can use realtime priority without fear of consequences.
+
|[PRIORITY:REALTIME] ||devotes even more resources to Dwarf Fortress, but has been known to cause stuttering gameplay.  ||Increasing priority will make the game difficult to kill using task manager if it locks up. This happens because things like screen output and HD access are <em>not</em> entirely part of DF. However, a dual-core machine can use realtime priority without fear of consequences, at least as long as DF remains single-threaded.
 
|-
 
|-
 
| [TEMPERATURE:NO]: || Turns off temperature greatly increases speed.  ||It also kills off some rather nice lava warming effects, stops rivers from freezing and (importantly!) thawing, makes glacial maps less interesting, and prevents sudden deaths from exposure.  You're well-advised to stick with "warm" or "hot" fortress sites if you turn temperature off and your source of water is a stream.
 
| [TEMPERATURE:NO]: || Turns off temperature greatly increases speed.  ||It also kills off some rather nice lava warming effects, stops rivers from freezing and (importantly!) thawing, makes glacial maps less interesting, and prevents sudden deaths from exposure.  You're well-advised to stick with "warm" or "hot" fortress sites if you turn temperature off and your source of water is a stream.
Line 75: Line 80:
 
* Size of tiles
 
* Size of tiles
 
* Number of z-levels mined out (fortress pathfinding complexity matters; mere distance up and down doesn't)
 
* Number of z-levels mined out (fortress pathfinding complexity matters; mere distance up and down doesn't)
 +
 +
== Advice for earlier versions ==
 +
* If framerate is always slow at startup, your graphic card's interaction with the OpenGL code used by the game is likely to be at fault.  Turning off vertical synchronization and updating your drivers usually works.
 +
*  Put animals in cages.  Never keep them behind locked doors and reduce wandering pets to a reasonable number.
 +
*  Do not specify huge areas for mining or (especially) detailing.
 +
*  Open up \data\init\init.txt.  Turn off TEMPERATURE and WEATHER and reduce POPULATION_CAP.
 +
  
 
== Hardware- and OS-specific Advice ==
 
== Hardware- and OS-specific Advice ==
  
 
=== Dual Processors ===
 
=== Dual Processors ===
* Go into task manager and set the affinity of Dwarf Fortress to one processor, and then set all the programs that use significant resources to the other. Most programs do not use more than one processor and the best use of a dual processor is to let DF have one to itself.  This is ''not'' recommended for laptop computers, which will switch between processors as a heat management technique.  Pinning to one processor will cause the processor to start slowing down instead.
+
* Go into task manager and set the affinity of Dwarf Fortress to one processor, and then set all the programs that use significant resources to the other. If Dwarf Fortress ever utilizes more than one processor, this will of course become irrelevant; currently, however, very few programs do and the best use of a dual processor is to give DF its own processor.  This is ''not'' recommended for laptop computers, which will switch between processors as a heat management technique.  Pinning to one processor will cause the processor to start slowing down instead.
 +
 
 
* Vista's START command can be used to set affinity with the /AFFINITY switch, so basically you can create a shortcut and you won't need to set affinity manually.
 
* Vista's START command can be used to set affinity with the /AFFINITY switch, so basically you can create a shortcut and you won't need to set affinity manually.
* If you are using version 0.28.181.40d19, set PRINT_MODE to 2DASYNC in init.txt
+
 
 +
* In 40d#, set PRINT_MODE to 2DASYNC in init.txt
  
 
=== Laptop computers ===
 
=== Laptop computers ===

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)