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 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.

If you are creating a redirect to the current version's page, do not use any namespace. For example: use #REDIRECT [[Cat]], not #REDIRECT [[Main:Cat]] or #REDIRECT [[cv:Cat]]. See DF:Versions for more information.

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 29: Line 29:
  
 
* Line-of-sight calculations, even after optimizations in v50.05, are the slowest part of the game by a wide margin. This is O(n^2) by nature, so the only way to truly reduce it is to reduce the amount of units. That said, there are still ways you can reduce the issues.
 
* Line-of-sight calculations, even after optimizations in v50.05, are the slowest part of the game by a wide margin. This is O(n^2) by nature, so the only way to truly reduce it is to reduce the amount of units. That said, there are still ways you can reduce the issues.
** Keep your dwarves spread far apart--units who are more than 26 units away from a given unit in '''any direction''' are not considered for line-of-sight calculations.
+
** Keep your dwarves spread far apart--units who are more than 26 units away from a given unit in '''any direction''' are not considered for line-of-sight calculations.
** Avoid having only one meeting area that has hundreds of dwarves in it.
+
** Avoid having only one meeting area that has hundreds of dwarves in it.
** Try to break line-of-sight in various places to keep your dwarves from asking "friend or foe?" too often.
+
** Try to break line-of-sight in various places to keep your dwarves from asking "friend or foe?" too often.
  
 
* Fewer items inside a fort means fewer items checked for temperature, which is the only major performance issue items cause.
 
* Fewer items inside a fort means fewer items checked for temperature, which is the only major performance issue items cause.
 
** The obvious solution is not to generate so many items in the first place. Don't build such large [[Farming|farm plot]]s and don't go overboard with multiple [[Workshop|workshops]] constantly queued or set on perpetual repeat.
 
** The obvious solution is not to generate so many items in the first place. Don't build such large [[Farming|farm plot]]s and don't go overboard with multiple [[Workshop|workshops]] constantly queued or set on perpetual repeat.
 
** Use a [[Dwarven atom smasher]] to remove items, or donate them to [[Trading|passing caravans]] to be taken away.
 
** Use a [[Dwarven atom smasher]] to remove items, or donate them to [[Trading|passing caravans]] to be taken away.
** [[Exploit#Quantum_stockpiles|Quantum stockpiles]] only help with game speed when you're looking at your stockpiles all the time. <!--Items do not -->
+
** [[Exploit#Quantum_stockpiles|Quantum stockpiles]] only help with game speed when you're looking at your stockpiles all the time. Items do not  
 
** The quantity of items in any particular stack doesn't affect framerate so much as the number of stacks in general, due to the resultant impact on [[hauling]], [[stockpiles]], [[pathfinding]] and other CPU-intensive tasks.  The research done on the [http://www.bay12forums.com/smf/index.php?topic=92241.0 Undump Engine] and [http://www.bay12forums.com/smf/index.php?topic=109319.0 Micha's experimental fort] demonstrate very FPS efficient solutions, while avoiding traditional stockpiles and the use of [[barrel]]s and [[bin]]s.
 
** The quantity of items in any particular stack doesn't affect framerate so much as the number of stacks in general, due to the resultant impact on [[hauling]], [[stockpiles]], [[pathfinding]] and other CPU-intensive tasks.  The research done on the [http://www.bay12forums.com/smf/index.php?topic=92241.0 Undump Engine] and [http://www.bay12forums.com/smf/index.php?topic=109319.0 Micha's experimental fort] demonstrate very FPS efficient solutions, while avoiding traditional stockpiles and the use of [[barrel]]s and [[bin]]s.
 
** That said, [http://www.bay12forums.com/smf/index.php?topic=104643.msg3094753#msg3094753 total quantity of items does matter].  Quantity matters far more with objects that have quality or decorations than boulders, as they take up more memory.  Temperature checks, wear increments, and other issues lag the game, although it takes far larger item quantities (10,000+) to be seriously notable.   
 
** That said, [http://www.bay12forums.com/smf/index.php?topic=104643.msg3094753#msg3094753 total quantity of items does matter].  Quantity matters far more with objects that have quality or decorations than boulders, as they take up more memory.  Temperature checks, wear increments, and other issues lag the game, although it takes far larger item quantities (10,000+) to be seriously notable.   
Line 43: Line 43:
 
** Wall off areas with changing water levels[https://dwarffortress.mantishub.io/view.php?id=5986#c22870].  
 
** Wall off areas with changing water levels[https://dwarffortress.mantishub.io/view.php?id=5986#c22870].  
 
* Proper use of [[traffic]] designations will help.
 
* Proper use of [[traffic]] designations will help.
* The amount of active [[plant gathering|plant gatherers]] can heavily impact framerate, especially if the "everyone does this" option is enabled in the labor menu, coupled with having a very high population. It is best to use the "only selected do this" and select just a fraction of citizens for this task, or to disable it completely with the "nobody does this" option if gathering plants is not a priority at the time.
 
 
** Setting corridors to "high" traffic, and dead-end workshop rooms next to them to "low" traffic, means the pathfinder algorithm will search more quickly along the corridor, and waste less time searching in the rooms.
 
** Setting corridors to "high" traffic, and dead-end workshop rooms next to them to "low" traffic, means the pathfinder algorithm will search more quickly along the corridor, and waste less time searching in the rooms.
 
* While pathfinding is not a major FPS drain, reducing the area which the pathfinder algorithm has to search lets the game run a bit faster.
 
* While pathfinding is not a major FPS drain, reducing the area which the pathfinder algorithm has to search lets the game run a bit faster.

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)

Templates used on this page:

This page is a member of 2 hidden categories: