
Generating too-large civilized populations can result in a permanent, unavoidable FPS drop. The larger the civilizations, the more events occur in the world and the more complex they are. Larger worlds require more background processing to update.mud, blood, vomit, or leaves) and adjust the symbol/color accordinglyįortress design is specific ways of building and planning, game setting changes are changes mostly in the init.txt and D_init.txt files that don't actually change how the game plays out. After all of that is done, it then does yet another linear search (though the same list as with vein stones and grass) to see if the tile has a spatter on it (e.g.Other tile contents (units, buildings, items, vermin, etc.) get displayed.On top of all of that, it does a binary search by X/Y/Z coordinates in yet another list to determine whether or not an engraving is present (and, if there is, what tile to display).Constructed tiles need to do a binary search by X/Y/Z coordinates in a separate list to determine what material it uses, then look up that material for the symbol/color.Trees need to do a linear search through a column-specific list (one list per 48x48 tile embark region block) to determine what growths are present in the tile and look up within the plant itself to get the symbol/color.Shrubs and saplings need to search a separate list (not sure if it's the global list or a column-specific one) to find the plant in question and determine its symbol/color.Grass tiles need to do a linear lookup within that same list to figure out what type of grass is present, then look up the plant raw object to get the symbol/color (and also account for animations).Vein stone tiles need to do a linear lookup within a list specific to the 16x16x1 map block to see which vein they match and determine the material, then continue as above.

adamantine) need to look up the map feature located within the tile to figure out what it's made of, then continue as above

Unrevealed tiles take almost no time at all - it just needs to look up what "random glyph" to display there.The lists below separate ways to improve FPS into two categories: things that don't change the game in any fundamental way, and things that do.ĭisplaying a map tile takes a varying amount of work depending on what it is: So, reducing the amount of stuff that's active keeps your game running fast. In general, the more stuff the game has to keep track of, the slower the game will run.
