<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiwiweb</id>
	<title>Official Factorio Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiwiweb"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/Wiwiweb"/>
	<updated>2026-04-24T00:24:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Railway/Train_path_finding&amp;diff=215144</id>
		<title>Railway/Train path finding</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Railway/Train_path_finding&amp;diff=215144"/>
		<updated>2025-07-26T19:40:33Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Disabling a train stop no longer causes a repath&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Before a train moves to a target (in this case, a [[Train stop]]), it calculates the best route based on the railway network at that time.&lt;br /&gt;
&lt;br /&gt;
== Path finding penalties ==&lt;br /&gt;
&lt;br /&gt;
For calculation it uses a simple [[WIKIPEDIA:A*_search_algorithm|A*-algorithm]]&amp;lt;sup&amp;gt;[https://www.factorio.com/blog/post/fff-331]&amp;lt;/sup&amp;gt;: The pathfinder first builds a list of non-disabled stops that match the name in the schedule, then searches outward from both ends of the train at once, if applicable, in segments. A segment is an uninterrupted plain sequence of rails, with no intersections, stops, or signals (all of which define segment borders). The cost (distance) is calculated using the following weighting rules:&lt;br /&gt;
* Base cost for a block/segment is the length of the segment (linear grid length along the center of the rail).&lt;br /&gt;
* When the rail block is occupied by a train -&amp;gt; Add a penalty of 2 * length of the block divided by the number of blocks from the start, so the far away occupied paths don&#039;t matter much.&lt;br /&gt;
* When the rail block is guarded by a [[rail signal]] set to red by the [[circuit network]] -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
* When the path includes a train stop -&amp;gt; Add a penalty of 2000.&lt;br /&gt;
* When the rail block contains a train that is stopped at a train stop -&amp;gt; Add a penalty of 500.&lt;br /&gt;
* When the rail block contains a train that is stopped at a train stop and the train doesn&#039;t have other valid stops in its schedule -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
* When the rail block contains a manually controlled stopped train with a passenger -&amp;gt; Add a penalty of 2000.&lt;br /&gt;
* When the rail block contains a manually controlled stopped train without a passenger -&amp;gt; Add a penalty of 7000.&lt;br /&gt;
* When the rail block contains an automatic train without a schedule -&amp;gt; Add a penalty of 7000.&lt;br /&gt;
* When the rail block contains a train currently arriving to a train stop -&amp;gt; Add a penalty of 100.&lt;br /&gt;
* When the rail block contains a train currently arriving to a rail signal -&amp;gt; Add a penalty of 100.&lt;br /&gt;
* When the rail block contains a train currently waiting at a rail signal -&amp;gt; Add a penalty of 100 + 0.1 for every tick the train has already waited.&lt;br /&gt;
* When the rail block contains a train that doesn&#039;t have a path -&amp;gt; Add a penalty of 1000.&lt;br /&gt;
&lt;br /&gt;
== Path Revalidation ==&lt;br /&gt;
A rail path will be revalidated if any event happens that could make this trains path invalid. If the path is found to be invalid then the game will repath the train. Path revalidation just confirms that the current path is still valid and does not confirm that it is still the best. &lt;br /&gt;
The following events cause path revalidation:&lt;br /&gt;
* A rail is destroyed (all trains are revalidated).&lt;br /&gt;
* A rail is created and invalidates a signal (all trains are revalidated) .&lt;br /&gt;
* A signal (chain or regular) is created or destroyed  (all trains are revalidated).&lt;br /&gt;
* A rail block changes and invalidates a signal (chain or regular) (all trains are revalidated).&lt;br /&gt;
* [https://lua-api.factorio.com/latest/classes/LuaTrain.html#recalculate_path LuaTrain::recalculate_path()] is called on the train by a script.&lt;br /&gt;
* The train&#039;s schedule is changed.&lt;br /&gt;
* The train&#039;s braking force gets changed and the train is currently driving normally, arriving at a signal (chain or regular) or arriving at a station.&lt;br /&gt;
* The train has waited at a chain signal for a multiple of 5 seconds.&lt;br /&gt;
&lt;br /&gt;
== Repath events ==&lt;br /&gt;
There are a number of events that can cause a train to repath listed below. When one of these conditions is met the game considers possible paths from the train&#039;s current location to any train stop matching the destination name in the train&#039;s schedule and will chose the path with the lowest score according to the penalties listed above. &lt;br /&gt;
=== User / script generated events ===&lt;br /&gt;
* A locomotive that is part of the train is rotated. &lt;br /&gt;
* [https://lua-api.factorio.com/latest/classes/LuaTrain.html#recalculate_path LuaTrain::recalculate_path(true)] is called on the train by a script.&lt;br /&gt;
* The train is switched to automatic control when it was previously manually controlled.&lt;br /&gt;
* The train is set to go to a station using the &amp;quot;Go to stop&amp;quot; button in the train&#039;s GUI.&lt;br /&gt;
* A waypoint (train stop without wait condition) is removed from the train&#039;s schedule.&lt;br /&gt;
&lt;br /&gt;
=== Repaths that happen as part of normal train operation ===&lt;br /&gt;
* A train fails a revalidation.&lt;br /&gt;
* The train stop a train is heading to is renamed or destroyed.&lt;br /&gt;
* The train is preparing to stop at a signal (chain or regular) that changes so that the train can now continue. &lt;br /&gt;
* The train is braking for a signal (chain or regular) it cant reserve. &lt;br /&gt;
* The train enters a new rail block and can&#039;t reserve the next needed signal (chain or regular). &lt;br /&gt;
* The train has waited at a chain signal for a multiple of 5 seconds and there are multiple train stops with the same name as the destination. &lt;br /&gt;
* The train has waited at a chain signal for a multiple of 30 seconds and there is only a single train stop with the same name as the destination.&lt;br /&gt;
* The train wants to depart from a signal (chain or regular) that it stopped at. &lt;br /&gt;
* The train wants to depart from a train stop.&lt;br /&gt;
&lt;br /&gt;
=== Destination full / No path trains === &lt;br /&gt;
* A rail gets created.&lt;br /&gt;
* A train stop that is part of the train&#039;s schedule gets enabled, renamed or created. &lt;br /&gt;
* The train limit of a train stop that is part of the train&#039;s schedule becomes not full.&lt;br /&gt;
* The train stop that it currently cannot reach gets disabled or destroyed.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* The train collides with something that is not a train (like a player).&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
{{History|0.18.1|&lt;br /&gt;
* Train stop at train&#039;s starting segment exit is no longer counted into penalty. (Not mentioned above)}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.17.38|&lt;br /&gt;
* When a train performs path finding while in a chain signal sequence, the pathfinding will have a constraint to not go through reserved block before exiting the chain sequence. This solves a problem of train intersections being possible to be deadlocked even with proper chain signals usage in cases of using temporary stops or when path is changed because of station is being enabled/disabled by a circuit network. This also allowed us to to let train recalculate path spontaneously even in chain signal sequence, as it shouldn&#039;t break anything now.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.16.42|&lt;br /&gt;
* Added train path finding penalty for train with no path equal to 1000 tiles}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.16.0|&lt;br /&gt;
* The specific penalties can now be found in the utility constants, which allows mods to change them. (Undocumented)}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.15.0|&lt;br /&gt;
* Train station adds 2000 tiles penalty when path finding, so trains try to avoid stations not related to their path.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.17|&lt;br /&gt;
* Increased the pathing penalty for non-moving train in manual mode from 200 to 1000.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.13|&lt;br /&gt;
* Stopped, manually controlled train adds additional penalty (related to train path finding) of 200 tiles to the block it occupies.}}&lt;br /&gt;
&lt;br /&gt;
{{History|0.11.11|&lt;br /&gt;
* The pathfinding is based on penalties for blocked segments now. For trains waiting in station, the more remaining time in the station, the bigger penalty.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://gist.github.com/Rseding91/c0d4d08d6feaed618ed4a03f6c6a8fe6 Train pathfinding code]&lt;br /&gt;
* [https://www.factorio.com/blog/post/fff-331 FFF #331]&lt;br /&gt;
* [https://www.factorio.com/blog/post/fff-68 FFF #68]&lt;br /&gt;
* [[Railway]]&lt;br /&gt;
&lt;br /&gt;
{{C|Railway{{!}}#Railway/Train path finding}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Fluid_system&amp;diff=211445</id>
		<title>Fluid system</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Fluid_system&amp;diff=211445"/>
		<updated>2025-02-16T20:52:21Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Fluid mixing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{Cleanup|This page needs to be updated for Factorio 2.0 release, due to changes in fluid mechanics.}}&lt;br /&gt;
&#039;&#039;&#039;Fluids&#039;&#039;&#039; are non-solid items, such as [[water]] and [[oil]]. They can normally only exist inside entities for fluid handling (like [[pipe]]s), and buildings that have fluids as input ingredients or products (like an [[oil refinery]]).&lt;br /&gt;
&lt;br /&gt;
== Fluids ==&lt;br /&gt;
[[File:fluids_gui.png|thumb|300px|right|&amp;quot;Fluids&amp;quot; tab on the [[production statistics]] screen.]]&lt;br /&gt;
The following fluids are available in-game:&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Water}}||{{Imagelink|Steam}}||{{Imagelink|Crude oil}}||{{Imagelink|Petroleum gas}}||{{Imagelink|Light oil}}||{{Imagelink|Heavy oil}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Lubricant}}||{{Imagelink|Sulfuric acid}}||{{Imagelink|Thruster fuel|space-age=yes}}||{{Imagelink|Thruster oxidizer|space-age=yes}}||{{Imagelink|Lava|space-age=yes}}||{{Imagelink|Molten iron|space-age=yes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Molten copper|space-age=yes}}||{{Imagelink|Holmium solution|space-age=yes}}||{{Imagelink|Electrolyte|space-age=yes}}||{{Imagelink|Ammoniacal solution|space-age=yes}}||{{Imagelink|Ammonia|space-age=yes}}||{{Imagelink|Fluorine|space-age=yes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Fluoroketone (hot)|space-age=yes}}||{{Imagelink|Fluoroketone (cold)|space-age=yes}}||{{Imagelink|Lithium brine|space-age=yes}}||{{Imagelink|Plasma|space-age=yes}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mechanics ==&lt;br /&gt;
Fluids cannot be carried by the player, moved using [[inserters]], dropped on the ground, nor stored in chests, unless the fluids are stored in [[barrel]]s. They cannot be spilled or even dumped in a lake, and are counted in continuous fractions, rather than discrete integers.&amp;lt;br&amp;gt;&lt;br /&gt;
When the player picks up a structure that contains fluids, the contained fluid will try to flow into connected structures and any excess fluid that does not fit is destroyed.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
In the game, fluid is held in entities that behave as vessels (fluid boxes) of a defined size (volume). The vessels automatically connect to each other if their inputs/outputs are adjacent (pipes connect to all directions) and allow fluids to flow between them.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;volume&#039;&#039;&#039; of fluid contained in a fluid box is a value between 0 and the maximum volume. For instance, the pipe can hold 100 units of fluid, therefore the value in the pipe can be a number between 0 and 100. The &#039;&#039;&#039;level&#039;&#039;&#039; of fluid in a given entity is manifested by a percentage of the entity&#039;s maximum volume that is being occupied by a fluid. It can be observed in pipes and tanks; they have windows through which the fluid is seen at a certain level, or perhaps even as just a small trickle.&lt;br /&gt;
&lt;br /&gt;
=== Fluid mixing ===&lt;br /&gt;
[[File:Pipe_GUI.png|right|frame|GUI of a pipe inside a fluid system containing water. Clicking the trash can icon next to a fluid will flush that fluid from the system.]]&lt;br /&gt;
The game will prevent players from accidentally mixing fluids when placing most buildings, e.g. [[pipe]]s containing different fluids cannot be placed directly next to each other. However, not every possible case of fluid mixing is considered, so the player may still mix fluids accidentally or by purposely working around the building restrictions. A fluid segment can only contain a single fluid type, so trying to mix multiple fluids will result in all but one fluid being deleted.&lt;br /&gt;
&lt;br /&gt;
=== Flow ===&lt;br /&gt;
All connected tanks and pipes are treated as a single vessel in that &#039;&#039;the level of fluid must be equal in all parts&#039;&#039;, to even out pressure exacted by a higher fluid level on smaller ones. This is why level is also often referred to as &#039;&#039;pressure&#039;&#039;, even though pressure is actually caused by a difference in level between two entities. All flow of fluid that happens between pipes is to achieve this balance (pumps practically ignore it and buildings disrupt it; more on that further below). The flow rate between pipes is dependent on pressure (the difference in level between the adjacent entities), it becomes slower as pipes even their levels out.&lt;br /&gt;
&lt;br /&gt;
Coming back to how the &#039;level&#039; is defined, this also means that all connected pipes and tanks attempt to even out to the same percentage of their respective volumes. For example, if 12,550 units of fluid are left to flow into a storage tank of 25,000-unit capacity with one pipe of 100-unit capacity connected, there will be 12,500 units in the storage tank and 50 units in the pipe, both being filled to the same &#039;&#039;&#039;percentage&#039;&#039;&#039; (50%) of their capacities, even though the amounts themselves are unequal.&lt;br /&gt;
&lt;br /&gt;
Machines that produce fluids put them in their output slots, which are related to a specifically labeled output pipe socket somewhere on the machine (pressing {{Keybinding|Alt}} reveals the labels). The slot will attempt to empty itself into the entity connected to the machine&#039;s socket, unless it is full, or contains a non-matching fluid. Machines that consume fluids also have an accordingly labeled pipe input socket. If an entity containing the correct fluid is connected to it, the machine will start behaving like a pipe that can never be filled, meaning the fluid from connected pipes and tanks drains into the machine at a fixed rate, until the machine&#039;s input slot is full. There may be machines that have pipe sockets for both input and output (like a [[electric mining drill|drill]] placed over [[uranium ore]]). They then drain the fluid for themselves first, and once full, behave as a regular pipe that attempts to even out its level with adjacent entitites. If there are multiple output/input sockets for one fluid on a machine, their activity is distributed to them equally unless some of them are blocked/full.&lt;br /&gt;
&lt;br /&gt;
=== Temperature ===&lt;br /&gt;
Temperature is currently only relevant in heating water as a medium for power generation. Even though all fluids in the game have a temperature value, it is generally the default 15°C.&lt;br /&gt;
&lt;br /&gt;
Energy, whether harnessed from [[fuel]] in [[boiler]]s, or from [[Nuclear power (research)|nuclear power]] through [[heat exchanger]]s, can be used to turn [[water]] to [[steam]], being a [[Energy and work|liquid form of work]]. Steam holds energy at a ratio of 0.2 kJ per °C per unit. In other words: 0.2 kJ of work is necessary to heat a unit of steam by one °C. Since steam/water is set to have a maximum temperature of 1000°C and minimum of 15°C, the most work that can be done on one unit is 197 kJ.&lt;br /&gt;
&lt;br /&gt;
In practice, this is barely utilized in a great variety: Boilers only output steam of 165°C temperature, and heat exchangers only output 500°C hot steam, never hotter, never colder; if insufficient energy is supplied, the heaters do not output steam altogether. The steam also does not grow colder over time. Using the 165°C steam in a [[steam engine]] has the same effect as using it in a [[steam turbine]], although it is impractical, since turbines are made to consume 500°C (superheated) steam, generating proportionally more power. All of this makes for no need of exact calculations.&lt;br /&gt;
&lt;br /&gt;
== Transport ==&lt;br /&gt;
Fluids can be transported through pipelines, barrels, or railway. It is generally practical to use piping for short-distance distribution to machines (or barrelling, if there is need to use belts), and railway transportation for longer distances.&lt;br /&gt;
&lt;br /&gt;
=== Pipelines ===&lt;br /&gt;
[[File:pipes_carrying_fluids.png|thumb|312px|Eight pipelines, each carrying a different fluid.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Pipe|Pipes]]&#039;&#039;&#039; are the most basic way to channel fluids from A to B. They automatically connect to any adjacent pipe and can do so to all four cardinal directions simultaneously. [[Pipe to ground|Underground pipes]] only work in two opposite directions, linking to another underground pipe on one side, and to another entity on the other. If a pipe section becomes too long without using pumps (spreading outside a 320×320 tiles or 10×10 chunk area), fluid will not flow until the pipeline is broken up by a pump. &#039;&#039;&#039;[[Storage tank|Tanks]]&#039;&#039;&#039; behave the same as pipes, except their volume is much greater.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Pump]]s&#039;&#039;&#039; use electrical power to transfer fluids in one direction. They also block any back-flow, which means they can pressurize a section of piping, filling it as much as possible. They can also be disabled using the [[circuit network]] which stops fluid flow through the pump.&lt;br /&gt;
&lt;br /&gt;
A continuous pipeline (meaning one that is not split by pumps) will transfer fluid instantly, with no flow restriction, irrespective of the distance, as long as the pipeline is not too long (as defined above).&lt;br /&gt;
&lt;br /&gt;
=== Barrels ===&lt;br /&gt;
&#039;&#039;&#039;[[Barrel]]s&#039;&#039;&#039; are used by [[Assembling machine]]s to effectively &amp;quot;bottle&amp;quot; fluids into an item that can be handled like any other item; carried in an inventory, placed in chests and handled by [[Inserters]]. This allows the player to transport fluids via the [[belt transport system]] and the [[logistic network]] (as well as the [[railway]], although fluid wagons are also an option on rails). Assembling machines are also used to empty the barrels, depositing their contents to pipes and leaving an empty barrel for another use.&lt;br /&gt;
&lt;br /&gt;
=== Railway ===&lt;br /&gt;
&#039;&#039;&#039;[[Railway]]&#039;&#039;&#039; is another method of transporting fluids, and can be conducted in two ways: Either the fluids are directly pumped into a [[fluid wagon]], or they are poured into barrels and loaded into [[cargo wagon]]s. Both methods have their advantages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of using fluid wagons&#039;&#039;&#039;&lt;br /&gt;
* Higher capacity (50k vs 20k)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of using barrels in cargo wagons&#039;&#039;&#039;&lt;br /&gt;
* A single cargo wagon can transport multiple types of barrelled fluid (and regular items at the same time)&lt;br /&gt;
* Cargo wagons, [[Fluid wagon#Troubleshooting|as opposed to fluid wagons]], don&#039;t need to be perfectly aligned to be (un-)loaded, allowing for more flexible train station designs&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Oil processing]]&lt;br /&gt;
* [[Power production]]&lt;br /&gt;
&lt;br /&gt;
{{C|Logistics{{!}}#Fluid system}}&lt;br /&gt;
{{C|Energy and fluid distribution{{!}}#Fluid system}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Fluid_system&amp;diff=211444</id>
		<title>Fluid system</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Fluid_system&amp;diff=211444"/>
		<updated>2025-02-16T20:52:04Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Fluid mixing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{Cleanup|This page needs to be updated for Factorio 2.0 release, due to changes in fluid mechanics.}}&lt;br /&gt;
&#039;&#039;&#039;Fluids&#039;&#039;&#039; are non-solid items, such as [[water]] and [[oil]]. They can normally only exist inside entities for fluid handling (like [[pipe]]s), and buildings that have fluids as input ingredients or products (like an [[oil refinery]]).&lt;br /&gt;
&lt;br /&gt;
== Fluids ==&lt;br /&gt;
[[File:fluids_gui.png|thumb|300px|right|&amp;quot;Fluids&amp;quot; tab on the [[production statistics]] screen.]]&lt;br /&gt;
The following fluids are available in-game:&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Water}}||{{Imagelink|Steam}}||{{Imagelink|Crude oil}}||{{Imagelink|Petroleum gas}}||{{Imagelink|Light oil}}||{{Imagelink|Heavy oil}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Lubricant}}||{{Imagelink|Sulfuric acid}}||{{Imagelink|Thruster fuel|space-age=yes}}||{{Imagelink|Thruster oxidizer|space-age=yes}}||{{Imagelink|Lava|space-age=yes}}||{{Imagelink|Molten iron|space-age=yes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Molten copper|space-age=yes}}||{{Imagelink|Holmium solution|space-age=yes}}||{{Imagelink|Electrolyte|space-age=yes}}||{{Imagelink|Ammoniacal solution|space-age=yes}}||{{Imagelink|Ammonia|space-age=yes}}||{{Imagelink|Fluorine|space-age=yes}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Imagelink|Fluoroketone (hot)|space-age=yes}}||{{Imagelink|Fluoroketone (cold)|space-age=yes}}||{{Imagelink|Lithium brine|space-age=yes}}||{{Imagelink|Plasma|space-age=yes}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mechanics ==&lt;br /&gt;
Fluids cannot be carried by the player, moved using [[inserters]], dropped on the ground, nor stored in chests, unless the fluids are stored in [[barrel]]s. They cannot be spilled or even dumped in a lake, and are counted in continuous fractions, rather than discrete integers.&amp;lt;br&amp;gt;&lt;br /&gt;
When the player picks up a structure that contains fluids, the contained fluid will try to flow into connected structures and any excess fluid that does not fit is destroyed.&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
In the game, fluid is held in entities that behave as vessels (fluid boxes) of a defined size (volume). The vessels automatically connect to each other if their inputs/outputs are adjacent (pipes connect to all directions) and allow fluids to flow between them.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;volume&#039;&#039;&#039; of fluid contained in a fluid box is a value between 0 and the maximum volume. For instance, the pipe can hold 100 units of fluid, therefore the value in the pipe can be a number between 0 and 100. The &#039;&#039;&#039;level&#039;&#039;&#039; of fluid in a given entity is manifested by a percentage of the entity&#039;s maximum volume that is being occupied by a fluid. It can be observed in pipes and tanks; they have windows through which the fluid is seen at a certain level, or perhaps even as just a small trickle.&lt;br /&gt;
&lt;br /&gt;
=== Fluid mixing ===&lt;br /&gt;
[[File:Pipe_GUI.png|right|frame|GUI of a pipe inside a fluid system containing water. Clicking the trash can icon next to a fluid will flush that fluid from the system.]]&lt;br /&gt;
The game will prevent players from accidentally mixing fluids when placing most buildings, e.g. [[pipe]]s containing different fluids cannot be placed directly next to each other. However, not every possible case of fluid mixing is considered, so the player may still mix fluids accidentally or by purposely working around the building restrictions. A fluid segment can only contain a single fluid type, so trying to mix multiple fluids will result in all but 1 type of fluids being deleted.&lt;br /&gt;
&lt;br /&gt;
=== Flow ===&lt;br /&gt;
All connected tanks and pipes are treated as a single vessel in that &#039;&#039;the level of fluid must be equal in all parts&#039;&#039;, to even out pressure exacted by a higher fluid level on smaller ones. This is why level is also often referred to as &#039;&#039;pressure&#039;&#039;, even though pressure is actually caused by a difference in level between two entities. All flow of fluid that happens between pipes is to achieve this balance (pumps practically ignore it and buildings disrupt it; more on that further below). The flow rate between pipes is dependent on pressure (the difference in level between the adjacent entities), it becomes slower as pipes even their levels out.&lt;br /&gt;
&lt;br /&gt;
Coming back to how the &#039;level&#039; is defined, this also means that all connected pipes and tanks attempt to even out to the same percentage of their respective volumes. For example, if 12,550 units of fluid are left to flow into a storage tank of 25,000-unit capacity with one pipe of 100-unit capacity connected, there will be 12,500 units in the storage tank and 50 units in the pipe, both being filled to the same &#039;&#039;&#039;percentage&#039;&#039;&#039; (50%) of their capacities, even though the amounts themselves are unequal.&lt;br /&gt;
&lt;br /&gt;
Machines that produce fluids put them in their output slots, which are related to a specifically labeled output pipe socket somewhere on the machine (pressing {{Keybinding|Alt}} reveals the labels). The slot will attempt to empty itself into the entity connected to the machine&#039;s socket, unless it is full, or contains a non-matching fluid. Machines that consume fluids also have an accordingly labeled pipe input socket. If an entity containing the correct fluid is connected to it, the machine will start behaving like a pipe that can never be filled, meaning the fluid from connected pipes and tanks drains into the machine at a fixed rate, until the machine&#039;s input slot is full. There may be machines that have pipe sockets for both input and output (like a [[electric mining drill|drill]] placed over [[uranium ore]]). They then drain the fluid for themselves first, and once full, behave as a regular pipe that attempts to even out its level with adjacent entitites. If there are multiple output/input sockets for one fluid on a machine, their activity is distributed to them equally unless some of them are blocked/full.&lt;br /&gt;
&lt;br /&gt;
=== Temperature ===&lt;br /&gt;
Temperature is currently only relevant in heating water as a medium for power generation. Even though all fluids in the game have a temperature value, it is generally the default 15°C.&lt;br /&gt;
&lt;br /&gt;
Energy, whether harnessed from [[fuel]] in [[boiler]]s, or from [[Nuclear power (research)|nuclear power]] through [[heat exchanger]]s, can be used to turn [[water]] to [[steam]], being a [[Energy and work|liquid form of work]]. Steam holds energy at a ratio of 0.2 kJ per °C per unit. In other words: 0.2 kJ of work is necessary to heat a unit of steam by one °C. Since steam/water is set to have a maximum temperature of 1000°C and minimum of 15°C, the most work that can be done on one unit is 197 kJ.&lt;br /&gt;
&lt;br /&gt;
In practice, this is barely utilized in a great variety: Boilers only output steam of 165°C temperature, and heat exchangers only output 500°C hot steam, never hotter, never colder; if insufficient energy is supplied, the heaters do not output steam altogether. The steam also does not grow colder over time. Using the 165°C steam in a [[steam engine]] has the same effect as using it in a [[steam turbine]], although it is impractical, since turbines are made to consume 500°C (superheated) steam, generating proportionally more power. All of this makes for no need of exact calculations.&lt;br /&gt;
&lt;br /&gt;
== Transport ==&lt;br /&gt;
Fluids can be transported through pipelines, barrels, or railway. It is generally practical to use piping for short-distance distribution to machines (or barrelling, if there is need to use belts), and railway transportation for longer distances.&lt;br /&gt;
&lt;br /&gt;
=== Pipelines ===&lt;br /&gt;
[[File:pipes_carrying_fluids.png|thumb|312px|Eight pipelines, each carrying a different fluid.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Pipe|Pipes]]&#039;&#039;&#039; are the most basic way to channel fluids from A to B. They automatically connect to any adjacent pipe and can do so to all four cardinal directions simultaneously. [[Pipe to ground|Underground pipes]] only work in two opposite directions, linking to another underground pipe on one side, and to another entity on the other. If a pipe section becomes too long without using pumps (spreading outside a 320×320 tiles or 10×10 chunk area), fluid will not flow until the pipeline is broken up by a pump. &#039;&#039;&#039;[[Storage tank|Tanks]]&#039;&#039;&#039; behave the same as pipes, except their volume is much greater.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Pump]]s&#039;&#039;&#039; use electrical power to transfer fluids in one direction. They also block any back-flow, which means they can pressurize a section of piping, filling it as much as possible. They can also be disabled using the [[circuit network]] which stops fluid flow through the pump.&lt;br /&gt;
&lt;br /&gt;
A continuous pipeline (meaning one that is not split by pumps) will transfer fluid instantly, with no flow restriction, irrespective of the distance, as long as the pipeline is not too long (as defined above).&lt;br /&gt;
&lt;br /&gt;
=== Barrels ===&lt;br /&gt;
&#039;&#039;&#039;[[Barrel]]s&#039;&#039;&#039; are used by [[Assembling machine]]s to effectively &amp;quot;bottle&amp;quot; fluids into an item that can be handled like any other item; carried in an inventory, placed in chests and handled by [[Inserters]]. This allows the player to transport fluids via the [[belt transport system]] and the [[logistic network]] (as well as the [[railway]], although fluid wagons are also an option on rails). Assembling machines are also used to empty the barrels, depositing their contents to pipes and leaving an empty barrel for another use.&lt;br /&gt;
&lt;br /&gt;
=== Railway ===&lt;br /&gt;
&#039;&#039;&#039;[[Railway]]&#039;&#039;&#039; is another method of transporting fluids, and can be conducted in two ways: Either the fluids are directly pumped into a [[fluid wagon]], or they are poured into barrels and loaded into [[cargo wagon]]s. Both methods have their advantages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of using fluid wagons&#039;&#039;&#039;&lt;br /&gt;
* Higher capacity (50k vs 20k)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of using barrels in cargo wagons&#039;&#039;&#039;&lt;br /&gt;
* A single cargo wagon can transport multiple types of barrelled fluid (and regular items at the same time)&lt;br /&gt;
* Cargo wagons, [[Fluid wagon#Troubleshooting|as opposed to fluid wagons]], don&#039;t need to be perfectly aligned to be (un-)loaded, allowing for more flexible train station designs&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Oil processing]]&lt;br /&gt;
* [[Power production]]&lt;br /&gt;
&lt;br /&gt;
{{C|Logistics{{!}}#Fluid system}}&lt;br /&gt;
{{C|Energy and fluid distribution{{!}}#Fluid system}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=File:Fonts.png&amp;diff=207339</id>
		<title>File:Fonts.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=File:Fonts.png&amp;diff=207339"/>
		<updated>2024-12-01T18:48:31Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Wiwiweb uploaded a new version of File:Fonts.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Screenshot}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Pentapods&amp;diff=205864</id>
		<title>Pentapods</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Pentapods&amp;diff=205864"/>
		<updated>2024-11-10T22:54:33Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Redirect to Enemies page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[enemies#Wrigglers]]&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205317</id>
		<title>Rich text</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205317"/>
		<updated>2024-11-08T00:14:28Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Rich text formatting in allows the use of tags within most of the game&#039;s textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.&lt;br /&gt;
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into [[console|chat]].&lt;br /&gt;
&lt;br /&gt;
Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.&lt;br /&gt;
&lt;br /&gt;
When used in chat, the tag image will be followed by a text description, except for the img tag.&lt;br /&gt;
Used elsewhere only the image is shown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;/&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [img=item.iron-plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=quantity-time]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=utility/played_green]&lt;br /&gt;
| [[File:Iron_plate.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Time_icon.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Played green.png|28px]]&lt;br /&gt;
| Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses [https://lua-api.factorio.com/latest/Concepts.html#SpritePath sprite paths]:&lt;br /&gt;
&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt; is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment, space-location or utility.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;: see below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt; is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item=iron-plate]&lt;br /&gt;
| [[File:Iron_plate.png|28px]] [Item: Iron plate]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the item&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [entity=small-biter]&lt;br /&gt;
| [[File:Small_biter.png|28px]] [Entity: Small biter]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the entity&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [technology=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [technology=logistics]&lt;br /&gt;
| [[File:Logistics_(research).png|28px]] [Technology: Logistics]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the technology&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [recipe=basic-oil-processing]&lt;br /&gt;
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the recipe, usually the item name&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item-group=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item-group=combat]&lt;br /&gt;
| [[File:Item-group_military.png|28px]] [Item Group: Combat]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is any of: logistics, production, intermediate-products, combat, fluids or signals&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [fluid=water]&lt;br /&gt;
| [[File:Water.png|28px]] [Fluid: Water]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the fluid&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tile=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tile=grass-3]&lt;br /&gt;
| [[File:Grass_3.png|28px]] [Tile: Grass 3]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [virtual-signal=signal-A]&lt;br /&gt;
| [[File:Signal-A.png|28px]] [Virtual Signal: Signal A]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the word signal followed by either an uppercase letter, number, color, each, everything or anything&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [achievement=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [achievement=minions]&lt;br /&gt;
| [[File:Minions-achievement.png|28px]] [Achievement: Minions]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [gps=&amp;lt;i&amp;gt;x,y&amp;lt;/i&amp;gt;]&lt;br /&gt;
[gps=&amp;lt;i&amp;gt;x,y,surface&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [gps=0,0]&lt;br /&gt;
| [[File:Map.png|28px]] [Location: 0,0]&lt;br /&gt;
| Embeds a map location and marks the location on the map of other players.&lt;br /&gt;
&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; is the x point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;y&amp;lt;/i&amp;gt; is the y point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt; is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than &amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt;, clicking the tag does nothing. Mods must handle this case with [https://lua-api.factorio.com/latest/events.html#on_player_clicked_gps_tag on_player_clicked_gps_tag]&lt;br /&gt;
|-&lt;br /&gt;
| [special-item=&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt;]&lt;br /&gt;
| &lt;br /&gt;
| [[File:Blueprint.png|28px]] [Blueprint]&lt;br /&gt;
| Embeds a blueprint. Players can get a blueprint item by clicking the icon.&lt;br /&gt;
&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt; is the blueprint string of a blueprint, deconstruction planner or upgrade planners&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [armor=&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [armor=Player] &lt;br /&gt;
| [[File:Power_armor_MK2.png|28px]] [Armor: Player]&lt;br /&gt;
| Embeds the armor of a player. Allows other players to see the equipment installed.&lt;br /&gt;
&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt; is the name of the player&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train=93] &lt;br /&gt;
| [[File:Locomotive.png|28px]] [Train: 2]&lt;br /&gt;
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train-stop=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train-stop=100]&lt;br /&gt;
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]&lt;br /&gt;
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train stop&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [shortcut=&amp;lt;i&amp;gt;shortcut-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [shortcut=give-spidertron-remote]&lt;br /&gt;
| [[File:Spidertron_remote.png|28px]] [Shortcut: Create spidertron remote]&lt;br /&gt;
| Embeds a reference to a shortcut from the [[Shortcut bar]]. Hovering over the rich text will show the shortcut&#039;s description. Clicking the rich text will act as if you clicked the shortcut.&lt;br /&gt;
&amp;lt;i&amp;gt;shortcut-name&amp;lt;/i&amp;gt; is the internal name of the shortcut.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tip=&amp;lt;i&amp;gt;tip-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tip=spidertron-control]&lt;br /&gt;
| [[File:Tip.png|28px]] [Tip: Spidertron control]&lt;br /&gt;
| Embeds a reference to a tip from the &amp;quot;Tips and tricks&amp;quot; menu. Hovering over the icon will show the tip&#039;s text. Clicking the icon will open the &amp;quot;Tips and tricks&amp;quot; menu to that page.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tooltip=&amp;lt;i&amp;gt;text,tooltip locale key&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tooltip=Hover to see &amp;quot;Iron plate&amp;quot;,item-name.iron-plate]&lt;br /&gt;
| &amp;lt;span title=&amp;quot;Iron plate&amp;quot;&amp;gt; [[File:Custom-tag-icon.png|28px]] Hover to see &amp;quot;Iron plate&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the given &amp;lt;i&amp;gt;text&amp;lt;/i&amp;gt; with a &amp;lt;i&amp;gt;tooltip&amp;lt;/i&amp;gt; that is specified with a [[Tutorial:Localisation#Localising_simple_strings|locale key]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]--&amp;gt;&lt;br /&gt;
|[quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=iron-plate,quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=small-biter,quality=uncommon]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=basic-oil-processing,quality=rare]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=water,quality=epic]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=signal-A,quality=legendary]--&amp;gt;&lt;br /&gt;
| [[File:Quality normal.png|28px]] [Quality: Normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Iron_plate.png|28px]] [Item: Iron plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Uncommon small biter.png|28px]] [Entity: Uncommon Small biter]&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Quality]] can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal&amp;lt;br&amp;gt;&lt;br /&gt;
It can also be added to the other tags that use &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;, but they ignore it.&lt;br /&gt;
&lt;br /&gt;
The normal quality is the default quality and won&#039;t modify tags. Any other quality won&#039;t exist without [[Space Age]] and Quality&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt; is the internal-name of the quality&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-platform=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-platform=3]&lt;br /&gt;
| [[File:Space_platform_hub.png|28px]] [Space platform: My cool space platform] &lt;br /&gt;
| &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal id of a space-platform, starting with 1.&lt;br /&gt;
Hovering over the rich text will show a view of the space platform. Clicking the rich text will go to the platform in remote view.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [planet=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [planet=gleba]&lt;br /&gt;
| [[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a planet.&lt;br /&gt;
Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.&lt;br /&gt;
&lt;br /&gt;
[[Nauvis]] is part of the base game and will always be available.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-location=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-location=shattered-planet]&lt;br /&gt;
[space-location=gleba]&lt;br /&gt;
| [[File:Shattered Planet.png|28px]] [Space location: Shattered Planet] &lt;br /&gt;
[[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a space-location in Space Age.&lt;br /&gt;
Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.&lt;br /&gt;
&lt;br /&gt;
For the planet&#039;s listed in the section above &#039;planet&#039; will be used as the text prefix instead of &#039;space-location&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [[File:Space_age_icon.png|28px]]&lt;br /&gt;
| Embeds the Space Age icon.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Text modifiers ==&lt;br /&gt;
[[File:Fonts.png|right|thumbnail|100px|Different fonts displayed in-game. (Click to enlarge.)]]&lt;br /&gt;
&lt;br /&gt;
The color and font of text can be changed&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| [color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[.color]&lt;br /&gt;
| [color=red]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=1,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=255,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=#ff0000]Red[/color] text&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt; text&lt;br /&gt;
| &amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt; is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name&lt;br /&gt;
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.&lt;br /&gt;
|-&lt;br /&gt;
| [font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[/font]&amp;lt;br&amp;gt;&lt;br /&gt;
[font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[.font]&lt;br /&gt;
| [font=default-bold]Bold text[/font]&lt;br /&gt;
| &amp;lt;b&amp;gt;Bold text&amp;lt;/b&amp;gt;&lt;br /&gt;
| &amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt; is the name of the [[Data.raw#font|Factorio font]] to render&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Console]]&lt;br /&gt;
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.&lt;br /&gt;
&lt;br /&gt;
{{C|GUI}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205316</id>
		<title>Rich text</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205316"/>
		<updated>2024-11-08T00:11:16Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Add space-platform tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Rich text formatting in allows the use of tags within most of the game&#039;s textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.&lt;br /&gt;
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into [[console|chat]].&lt;br /&gt;
&lt;br /&gt;
Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.&lt;br /&gt;
&lt;br /&gt;
When used in chat, the tag image will be followed by a text description, except for the img tag.&lt;br /&gt;
Used elsewhere only the image is shown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;/&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [img=item.iron-plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=quantity-time]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=utility/played_green]&lt;br /&gt;
| [[File:Iron_plate.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Time_icon.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Played green.png|28px]]&lt;br /&gt;
| Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses [https://lua-api.factorio.com/latest/Concepts.html#SpritePath sprite paths]:&lt;br /&gt;
&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt; is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment, space-location or utility.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;: see below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt; is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item=iron-plate]&lt;br /&gt;
| [[File:Iron_plate.png|28px]] [Item: Iron plate]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the item&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [entity=small-biter]&lt;br /&gt;
| [[File:Small_biter.png|28px]] [Entity: Small biter]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the entity&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [technology=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [technology=logistics]&lt;br /&gt;
| [[File:Logistics_(research).png|28px]] [Technology: Logistics]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the technology&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [recipe=basic-oil-processing]&lt;br /&gt;
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the recipe, usually the item name&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item-group=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item-group=combat]&lt;br /&gt;
| [[File:Item-group_military.png|28px]] [Item Group: Combat]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is any of: logistics, production, intermediate-products, combat, fluids or signals&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [fluid=water]&lt;br /&gt;
| [[File:Water.png|28px]] [Fluid: Water]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the fluid&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tile=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tile=grass-3]&lt;br /&gt;
| [[File:Grass_3.png|28px]] [Tile: Grass 3]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [virtual-signal=signal-A]&lt;br /&gt;
| [[File:Signal-A.png|28px]] [Virtual Signal: Signal A]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the word signal followed by either an uppercase letter, number, color, each, everything or anything&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [achievement=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [achievement=minions]&lt;br /&gt;
| [[File:Minions-achievement.png|28px]] [Achievement: Minions]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [gps=&amp;lt;i&amp;gt;x,y&amp;lt;/i&amp;gt;]&lt;br /&gt;
[gps=&amp;lt;i&amp;gt;x,y,surface&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [gps=0,0]&lt;br /&gt;
| [[File:Map.png|28px]] [Location: 0,0]&lt;br /&gt;
| Embeds a map location and marks the location on the map of other players.&lt;br /&gt;
&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; is the x point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;y&amp;lt;/i&amp;gt; is the y point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt; is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than &amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt;, clicking the tag does nothing. Mods must handle this case with [https://lua-api.factorio.com/latest/events.html#on_player_clicked_gps_tag on_player_clicked_gps_tag]&lt;br /&gt;
|-&lt;br /&gt;
| [special-item=&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt;]&lt;br /&gt;
| &lt;br /&gt;
| [[File:Blueprint.png|28px]] [Blueprint]&lt;br /&gt;
| Embeds a blueprint. Players can get a blueprint item by clicking the icon.&lt;br /&gt;
&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt; is the blueprint string of a blueprint, deconstruction planner or upgrade planners&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [armor=&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [armor=Player] &lt;br /&gt;
| [[File:Power_armor_MK2.png|28px]] [Armor: Player]&lt;br /&gt;
| Embeds the armor of a player. Allows other players to see the equipment installed.&lt;br /&gt;
&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt; is the name of the player&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train=93] &lt;br /&gt;
| [[File:Locomotive.png|28px]] [Train: 2]&lt;br /&gt;
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train-stop=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train-stop=100]&lt;br /&gt;
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]&lt;br /&gt;
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train stop&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tip=&amp;lt;i&amp;gt;tip-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tip=spidertron-control]&lt;br /&gt;
| [[File:Tip.png|28px]] [Tip: Spidertron control]&lt;br /&gt;
| Embeds a reference to a tip from the &amp;quot;Tips and tricks&amp;quot; menu. Hovering over the icon will show the tip&#039;s text. Clicking the icon will open the &amp;quot;Tips and tricks&amp;quot; menu to that page.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tooltip=&amp;lt;i&amp;gt;text,tooltip locale key&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tooltip=Hover to see &amp;quot;Iron plate&amp;quot;,item-name.iron-plate]&lt;br /&gt;
| &amp;lt;span title=&amp;quot;Iron plate&amp;quot;&amp;gt; [[File:Custom-tag-icon.png|28px]] Hover to see &amp;quot;Iron plate&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the given &amp;lt;i&amp;gt;text&amp;lt;/i&amp;gt; with a &amp;lt;i&amp;gt;tooltip&amp;lt;/i&amp;gt; that is specified with a [[Tutorial:Localisation#Localising_simple_strings|locale key]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]--&amp;gt;&lt;br /&gt;
|[quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=iron-plate,quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=small-biter,quality=uncommon]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=basic-oil-processing,quality=rare]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=water,quality=epic]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=signal-A,quality=legendary]--&amp;gt;&lt;br /&gt;
| [[File:Quality normal.png|28px]] [Quality: Normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Iron_plate.png|28px]] [Item: Iron plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Uncommon small biter.png|28px]] [Entity: Uncommon Small biter]&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Quality]] can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal&amp;lt;br&amp;gt;&lt;br /&gt;
It can also be added to the other tags that use &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;, but they ignore it.&lt;br /&gt;
&lt;br /&gt;
The normal quality is the default quality and won&#039;t modify tags. Any other quality won&#039;t exist without [[Space Age]] and Quality&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt; is the internal-name of the quality&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-platform=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-platform=3]&lt;br /&gt;
| [[File:Space_platform_hub.png|28px]] [Space platform: My cool space platform] &lt;br /&gt;
| &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal id of a space-platform, starting with 1.&lt;br /&gt;
Hovering over the rich text will show a view of the space platform. Clicking the rich text will go to the platform in remote view.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [planet=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [planet=gleba]&lt;br /&gt;
| [[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a planet.&lt;br /&gt;
Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.&lt;br /&gt;
&lt;br /&gt;
[[Nauvis]] is part of the base game and will always be available.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-location=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-location=shattered-planet]&lt;br /&gt;
[space-location=gleba]&lt;br /&gt;
| [[File:Shattered Planet.png|28px]] [Space location: Shattered Planet] &lt;br /&gt;
[[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a space-location in Space Age.&lt;br /&gt;
Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.&lt;br /&gt;
&lt;br /&gt;
For the planet&#039;s listed in the section above &#039;planet&#039; will be used as the text prefix instead of &#039;space-location&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [[File:Space_age_icon.png|28px]]&lt;br /&gt;
| Embeds the Space Age icon.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Text modifiers ==&lt;br /&gt;
[[File:Fonts.png|right|thumbnail|100px|Different fonts displayed in-game. (Click to enlarge.)]]&lt;br /&gt;
&lt;br /&gt;
The color and font of text can be changed&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| [color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[.color]&lt;br /&gt;
| [color=red]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=1,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=255,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=#ff0000]Red[/color] text&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt; text&lt;br /&gt;
| &amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt; is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name&lt;br /&gt;
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.&lt;br /&gt;
|-&lt;br /&gt;
| [font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[/font]&amp;lt;br&amp;gt;&lt;br /&gt;
[font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[.font]&lt;br /&gt;
| [font=default-bold]Bold text[/font]&lt;br /&gt;
| &amp;lt;b&amp;gt;Bold text&amp;lt;/b&amp;gt;&lt;br /&gt;
| &amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt; is the name of the [[Data.raw#font|Factorio font]] to render&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Console]]&lt;br /&gt;
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.&lt;br /&gt;
&lt;br /&gt;
{{C|GUI}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205314</id>
		<title>Rich text</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205314"/>
		<updated>2024-11-07T22:50:07Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Fix tip icon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Rich text formatting in allows the use of tags within most of the game&#039;s textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.&lt;br /&gt;
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into [[console|chat]].&lt;br /&gt;
&lt;br /&gt;
Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.&lt;br /&gt;
&lt;br /&gt;
When used in chat, the tag image will be followed by a text description, except for the img tag.&lt;br /&gt;
Used elsewhere only the image is shown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;/&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [img=item.iron-plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=quantity-time]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=utility/played_green]&lt;br /&gt;
| [[File:Iron_plate.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Time_icon.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Played green.png|28px]]&lt;br /&gt;
| Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses [https://lua-api.factorio.com/latest/Concepts.html#SpritePath sprite paths]:&lt;br /&gt;
&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt; is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment, space-location or utility.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;: see below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt; is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item=iron-plate]&lt;br /&gt;
| [[File:Iron_plate.png|28px]] [Item: Iron plate]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the item&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [entity=small-biter]&lt;br /&gt;
| [[File:Small_biter.png|28px]] [Entity: Small biter]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the entity&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [technology=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [technology=logistics]&lt;br /&gt;
| [[File:Logistics_(research).png|28px]] [Technology: Logistics]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the technology&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [recipe=basic-oil-processing]&lt;br /&gt;
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the recipe, usually the item name&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item-group=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item-group=combat]&lt;br /&gt;
| [[File:Item-group_military.png|28px]] [Item Group: Combat]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is any of: logistics, production, intermediate-products, combat, fluids or signals&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [fluid=water]&lt;br /&gt;
| [[File:Water.png|28px]] [Fluid: Water]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the fluid&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tile=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tile=grass-3]&lt;br /&gt;
| [[File:Grass_3.png|28px]] [Tile: Grass 3]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [virtual-signal=signal-A]&lt;br /&gt;
| [[File:Signal-A.png|28px]] [Virtual Signal: Signal A]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the word signal followed by either an uppercase letter, number, color, each, everything or anything&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [achievement=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [achievement=minions]&lt;br /&gt;
| [[File:Minions-achievement.png|28px]] [Achievement: Minions]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [gps=&amp;lt;i&amp;gt;x,y&amp;lt;/i&amp;gt;]&lt;br /&gt;
[gps=&amp;lt;i&amp;gt;x,y,surface&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [gps=0,0]&lt;br /&gt;
| [[File:Map.png|28px]] [Location: 0,0]&lt;br /&gt;
| Embeds a map location and marks the location on the map of other players.&lt;br /&gt;
&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; is the x point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;y&amp;lt;/i&amp;gt; is the y point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt; is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than &amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt;, clicking the tag does nothing. Mods must handle this case with [https://lua-api.factorio.com/latest/events.html#on_player_clicked_gps_tag on_player_clicked_gps_tag]&lt;br /&gt;
|-&lt;br /&gt;
| [special-item=&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt;]&lt;br /&gt;
| &lt;br /&gt;
| [[File:Blueprint.png|28px]] [Blueprint]&lt;br /&gt;
| Embeds a blueprint. Players can get a blueprint item by clicking the icon.&lt;br /&gt;
&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt; is the blueprint string of a blueprint, deconstruction planner or upgrade planners&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [armor=&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [armor=Player] &lt;br /&gt;
| [[File:Power_armor_MK2.png|28px]] [Armor: Player]&lt;br /&gt;
| Embeds the armor of a player. Allows other players to see the equipment installed.&lt;br /&gt;
&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt; is the name of the player&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train=93] &lt;br /&gt;
| [[File:Locomotive.png|28px]] [Train: 2]&lt;br /&gt;
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train-stop=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train-stop=100]&lt;br /&gt;
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]&lt;br /&gt;
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train stop&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tip=&amp;lt;i&amp;gt;tip-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tip=spidertron-control]&lt;br /&gt;
| [[File:Tip.png|28px]] [Tip: Spidertron control]&lt;br /&gt;
| Embeds a reference to a tip from the &amp;quot;Tips and tricks&amp;quot; menu. Hovering over the icon will show the tip&#039;s text. Clicking the icon will open the &amp;quot;Tips and tricks&amp;quot; menu to that page.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tooltip=&amp;lt;i&amp;gt;text,tooltip locale key&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tooltip=Hover to see &amp;quot;Iron plate&amp;quot;,item-name.iron-plate]&lt;br /&gt;
| &amp;lt;span title=&amp;quot;Iron plate&amp;quot;&amp;gt; [[File:Custom-tag-icon.png|28px]] Hover to see &amp;quot;Iron plate&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the given &amp;lt;i&amp;gt;text&amp;lt;/i&amp;gt; with a &amp;lt;i&amp;gt;tooltip&amp;lt;/i&amp;gt; that is specified with a [[Tutorial:Localisation#Localising_simple_strings|locale key]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]--&amp;gt;&lt;br /&gt;
|[quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=iron-plate,quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=small-biter,quality=uncommon]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=basic-oil-processing,quality=rare]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=water,quality=epic]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=signal-A,quality=legendary]--&amp;gt;&lt;br /&gt;
| [[File:Quality normal.png|28px]] [Quality: Normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Iron_plate.png|28px]] [Item: Iron plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Uncommon small biter.png|28px]] [Entity: Uncommon Small biter]&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Quality]] can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal&amp;lt;br&amp;gt;&lt;br /&gt;
It can also be added to the other tags that use &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;, but they ignore it.&lt;br /&gt;
&lt;br /&gt;
The normal quality is the default quality and won&#039;t modify tags. Any other quality won&#039;t exist without [[Space Age]] and Quality&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt; is the internal-name of the quality&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [planet=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [planet=gleba]&lt;br /&gt;
| [[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a planet.&lt;br /&gt;
Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.&lt;br /&gt;
&lt;br /&gt;
[[Nauvis]] is part of the base game and will always be available.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-location=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-location=shattered-planet]&lt;br /&gt;
[space-location=gleba]&lt;br /&gt;
| [[File:Shattered Planet.png|28px]] [Space location: Shattered Planet] &lt;br /&gt;
[[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a space-location in Space Age.&lt;br /&gt;
Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.&lt;br /&gt;
&lt;br /&gt;
For the planet&#039;s listed in the section above &#039;planet&#039; will be used as the text prefix instead of &#039;space-location&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [[File:Space_age_icon.png|28px]]&lt;br /&gt;
| Embeds the Space Age icon.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Text modifiers ==&lt;br /&gt;
[[File:Fonts.png|right|thumbnail|100px|Different fonts displayed in-game. (Click to enlarge.)]]&lt;br /&gt;
&lt;br /&gt;
The color and font of text can be changed&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| [color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[.color]&lt;br /&gt;
| [color=red]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=1,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=255,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=#ff0000]Red[/color] text&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt; text&lt;br /&gt;
| &amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt; is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name&lt;br /&gt;
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.&lt;br /&gt;
|-&lt;br /&gt;
| [font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[/font]&amp;lt;br&amp;gt;&lt;br /&gt;
[font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[.font]&lt;br /&gt;
| [font=default-bold]Bold text[/font]&lt;br /&gt;
| &amp;lt;b&amp;gt;Bold text&amp;lt;/b&amp;gt;&lt;br /&gt;
| &amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt; is the name of the [[Data.raw#font|Factorio font]] to render&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Console]]&lt;br /&gt;
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.&lt;br /&gt;
&lt;br /&gt;
{{C|GUI}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=File:Tip.png&amp;diff=205313</id>
		<title>File:Tip.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=File:Tip.png&amp;diff=205313"/>
		<updated>2024-11-07T22:34:22Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205312</id>
		<title>Rich text</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Rich_text&amp;diff=205312"/>
		<updated>2024-11-07T22:31:14Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Add &amp;quot;tip&amp;quot; rich text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
Rich text formatting in allows the use of tags within most of the game&#039;s textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
&lt;br /&gt;
Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.&lt;br /&gt;
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into [[console|chat]].&lt;br /&gt;
&lt;br /&gt;
Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.&lt;br /&gt;
&lt;br /&gt;
When used in chat, the tag image will be followed by a text description, except for the img tag.&lt;br /&gt;
Used elsewhere only the image is shown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;/&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt;.&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [img=item.iron-plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=quantity-time]&amp;lt;br&amp;gt;&lt;br /&gt;
[img=utility/played_green]&lt;br /&gt;
| [[File:Iron_plate.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Time_icon.png|28px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Played green.png|28px]]&lt;br /&gt;
| Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses [https://lua-api.factorio.com/latest/Concepts.html#SpritePath sprite paths]:&lt;br /&gt;
&amp;lt;i&amp;gt;class&amp;lt;/i&amp;gt; is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment, space-location or utility.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;: see below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;sprite-prototype-name&amp;lt;/i&amp;gt; is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item=iron-plate]&lt;br /&gt;
| [[File:Iron_plate.png|28px]] [Item: Iron plate]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the item&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [entity=small-biter]&lt;br /&gt;
| [[File:Small_biter.png|28px]] [Entity: Small biter]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the entity&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [technology=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [technology=logistics]&lt;br /&gt;
| [[File:Logistics_(research).png|28px]] [Technology: Logistics]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the technology&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [recipe=basic-oil-processing]&lt;br /&gt;
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the recipe, usually the item name&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [item-group=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [item-group=combat]&lt;br /&gt;
| [[File:Item-group_military.png|28px]] [Item Group: Combat]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is any of: logistics, production, intermediate-products, combat, fluids or signals&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [fluid=water]&lt;br /&gt;
| [[File:Water.png|28px]] [Fluid: Water]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the fluid&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tile=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tile=grass-3]&lt;br /&gt;
| [[File:Grass_3.png|28px]] [Tile: Grass 3]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [virtual-signal=signal-A]&lt;br /&gt;
| [[File:Signal-A.png|28px]] [Virtual Signal: Signal A]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the word signal followed by either an uppercase letter, number, color, each, everything or anything&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [achievement=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [achievement=minions]&lt;br /&gt;
| [[File:Minions-achievement.png|28px]] [Achievement: Minions]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [gps=&amp;lt;i&amp;gt;x,y&amp;lt;/i&amp;gt;]&lt;br /&gt;
[gps=&amp;lt;i&amp;gt;x,y,surface&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [gps=0,0]&lt;br /&gt;
| [[File:Map.png|28px]] [Location: 0,0]&lt;br /&gt;
| Embeds a map location and marks the location on the map of other players.&lt;br /&gt;
&amp;lt;i&amp;gt;x&amp;lt;/i&amp;gt; is the x point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;y&amp;lt;/i&amp;gt; is the y point coordinate&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt; is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than &amp;lt;i&amp;gt;surface&amp;lt;/i&amp;gt;, clicking the tag does nothing. Mods must handle this case with [https://lua-api.factorio.com/latest/events.html#on_player_clicked_gps_tag on_player_clicked_gps_tag]&lt;br /&gt;
|-&lt;br /&gt;
| [special-item=&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt;]&lt;br /&gt;
| &lt;br /&gt;
| [[File:Blueprint.png|28px]] [Blueprint]&lt;br /&gt;
| Embeds a blueprint. Players can get a blueprint item by clicking the icon.&lt;br /&gt;
&amp;lt;i&amp;gt;blueprint_string&amp;lt;/i&amp;gt; is the blueprint string of a blueprint, deconstruction planner or upgrade planners&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [armor=&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [armor=Player] &lt;br /&gt;
| [[File:Power_armor_MK2.png|28px]] [Armor: Player]&lt;br /&gt;
| Embeds the armor of a player. Allows other players to see the equipment installed.&lt;br /&gt;
&amp;lt;i&amp;gt;player&amp;lt;/i&amp;gt; is the name of the player&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train=93] &lt;br /&gt;
| [[File:Locomotive.png|28px]] [Train: 2]&lt;br /&gt;
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [train-stop=&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [train-stop=100]&lt;br /&gt;
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]&lt;br /&gt;
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.&lt;br /&gt;
&amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; is the internal unit number of the train stop&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tip=&amp;lt;i&amp;gt;tip-name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tip=spidertron-control]&lt;br /&gt;
| [[File:Tips-and-tricks.png|28px]] [Tip: Spidertron control]&lt;br /&gt;
| Embeds a reference to a tip from the &amp;quot;Tips and tricks&amp;quot; menu. Hovering over the icon will show the tip&#039;s text. Clicking the icon will open the &amp;quot;Tips and tricks&amp;quot; menu to that page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [tooltip=&amp;lt;i&amp;gt;text,tooltip locale key&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [tooltip=Hover to see &amp;quot;Iron plate&amp;quot;,item-name.iron-plate]&lt;br /&gt;
| &amp;lt;span title=&amp;quot;Iron plate&amp;quot;&amp;gt; [[File:Custom-tag-icon.png|28px]] Hover to see &amp;quot;Iron plate&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the given &amp;lt;i&amp;gt;text&amp;lt;/i&amp;gt; with a &amp;lt;i&amp;gt;tooltip&amp;lt;/i&amp;gt; that is specified with a [[Tutorial:Localisation#Localising_simple_strings|locale key]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;,quality=&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt;]--&amp;gt;&lt;br /&gt;
|[quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[item=iron-plate,quality=normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[entity=small-biter,quality=uncommon]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[recipe=basic-oil-processing,quality=rare]&amp;lt;br&amp;gt;&lt;br /&gt;
[fluid=water,quality=epic]&amp;lt;br&amp;gt;&lt;br /&gt;
[virtual-signal=signal-A,quality=legendary]--&amp;gt;&lt;br /&gt;
| [[File:Quality normal.png|28px]] [Quality: Normal]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Iron_plate.png|28px]] [Item: Iron plate]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Uncommon small biter.png|28px]] [Entity: Uncommon Small biter]&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Quality]] can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal&amp;lt;br&amp;gt;&lt;br /&gt;
It can also be added to the other tags that use &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;, but they ignore it.&lt;br /&gt;
&lt;br /&gt;
The normal quality is the default quality and won&#039;t modify tags. Any other quality won&#039;t exist without [[Space Age]] and Quality&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;tier&amp;lt;/i&amp;gt; is the internal-name of the quality&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [planet=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [planet=gleba]&lt;br /&gt;
| [[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a planet.&lt;br /&gt;
Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.&lt;br /&gt;
&lt;br /&gt;
[[Nauvis]] is part of the base game and will always be available.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-location=&amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt;]&lt;br /&gt;
| [space-location=shattered-planet]&lt;br /&gt;
[space-location=gleba]&lt;br /&gt;
| [[File:Shattered Planet.png|28px]] [Space location: Shattered Planet] &lt;br /&gt;
[[File:Gleba.png|28px]] [Planet: Gleba]&lt;br /&gt;
| &amp;lt;i&amp;gt;name&amp;lt;/i&amp;gt; is the internal name of a space-location in Space Age.&lt;br /&gt;
Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.&lt;br /&gt;
&lt;br /&gt;
For the planet&#039;s listed in the section above &#039;planet&#039; will be used as the text prefix instead of &#039;space-location&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [space-age]&lt;br /&gt;
| [[File:Space_age_icon.png|28px]]&lt;br /&gt;
| Embeds the Space Age icon.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Text modifiers ==&lt;br /&gt;
[[File:Fonts.png|right|thumbnail|100px|Different fonts displayed in-game. (Click to enlarge.)]]&lt;br /&gt;
&lt;br /&gt;
The color and font of text can be changed&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:20%&amp;quot;| Syntax&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Input&lt;br /&gt;
! style=&amp;quot;width:15%&amp;quot;| Example Result&lt;br /&gt;
! style=&amp;quot;width:50%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| [color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[/color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#rrggbb&amp;lt;/i&amp;gt;]...[.color]&amp;lt;br&amp;gt;&lt;br /&gt;
[color=&amp;lt;i&amp;gt;#aarrggbb&amp;lt;/i&amp;gt;]...[.color]&lt;br /&gt;
| [color=red]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=1,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=255,0,0]Red[/color] text&amp;lt;br&amp;gt;&lt;br /&gt;
[color=#ff0000]Red[/color] text&lt;br /&gt;
| &amp;lt;span style=&amp;quot;color: #ff0000&amp;quot;&amp;gt;Red&amp;lt;/span&amp;gt; text&lt;br /&gt;
| &amp;lt;i&amp;gt;rgb&amp;lt;/i&amp;gt; is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name&lt;br /&gt;
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.&lt;br /&gt;
|-&lt;br /&gt;
| [font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[/font]&amp;lt;br&amp;gt;&lt;br /&gt;
[font=&amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt;]...[.font]&lt;br /&gt;
| [font=default-bold]Bold text[/font]&lt;br /&gt;
| &amp;lt;b&amp;gt;Bold text&amp;lt;/b&amp;gt;&lt;br /&gt;
| &amp;lt;i&amp;gt;font-name&amp;lt;/i&amp;gt; is the name of the [[Data.raw#font|Factorio font]] to render&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Console]]&lt;br /&gt;
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.&lt;br /&gt;
&lt;br /&gt;
{{C|GUI}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=196049</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=196049"/>
		<updated>2024-01-20T22:41:40Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
== Too Long; Didn&#039;t Read ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Open the show-time-usage screen. If you&#039;re having consistent low UPS, look for big numbers in the &#039;&#039;first&#039;&#039; column. If you&#039;re having stutters and freezes, look for big numbers in the &#039;&#039;third&#039;&#039; column.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Accessing the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
== FPS vs UPS ==&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and adjust some settings here. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
== Decrypting the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
=== Table of notable &amp;quot;time usage&amp;quot; lines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is CPU-based work related to the rendering of the frame on your screen, costing UPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || This is GPU-based work related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[On/Off] || This is the time spent waiting for the graphics driver to refresh the screen. The &amp;quot;On&amp;quot; or &amp;quot;Off&amp;quot; in square brackets indicates if Vsync is enabled or not. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators and other circuit connections.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Use less heat entities, for example by replacing nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, the show-lua-object-statistics [[debug mode|debug option]] may help to find mods that create and destroy a lot of Lua objects.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hidden mod costs ===&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot might increase the Trains cost, and a mod that creates a lot of different electric networks would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
== Digging deeper with the &amp;quot;entity time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machines matters, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Use fewer inserters and have them work less often, e.g. with &amp;quot;inserter clocking&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters and spitters. Removing biters and spitters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=195520</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=195520"/>
		<updated>2023-11-26T18:59:34Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
== Accessing the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
== FPS vs UPS ==&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and adjust some settings here. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
== Decrypting the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
=== Table of notable &amp;quot;time usage&amp;quot; lines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is CPU-based work related to the rendering of the frame on your screen, costing UPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || This is GPU-based work related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators and other circuit connections.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Use less heat entities, for example by replacing nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, the show-lua-object-statistics [[debug mode|debug option]] may help to find mods that create and destroy a lot of Lua objects.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hidden mod costs ===&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot might increase the Trains cost, and a mod that creates a lot of different electric networks would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
== Digging deeper with the &amp;quot;entity time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machines matters, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Use fewer inserters and have them work less often, e.g. with &amp;quot;inserter clocking&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters and spitters. Removing biters and spitters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=194950</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=194950"/>
		<updated>2023-10-18T23:27:19Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
== FPS vs UPS ==&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in the majority of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
=== Table of notable &amp;quot;time usage&amp;quot; lines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hidden mod costs ===&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
== Digging deeper with the &amp;quot;entity time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machines matters, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. Using containers with a large amount of slots will also negatively impact this cost [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;br /&gt;
&lt;br /&gt;
{{Category|Tutorials}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=194553</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=194553"/>
		<updated>2023-10-06T23:06:03Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Accessing the &amp;quot;time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing the &amp;quot;time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
== FPS vs UPS ==&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
=== Table of notable &amp;quot;time usage&amp;quot; lines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hidden mod costs ===&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
== Digging deeper with the &amp;quot;entity time usage&amp;quot; screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. Using containers with a large amount of slots will also negatively impact this cost [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;br /&gt;
&lt;br /&gt;
{{Category|Tutorials}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193406</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193406"/>
		<updated>2023-09-03T06:10:40Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. Using containers with a large amount of slots will also negatively impact this cost [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193405</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193405"/>
		<updated>2023-09-03T05:51:55Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* How it works */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later. You can also use the &amp;quot;/perf-avg-frames 1000&amp;quot; command to increase the number of ticks considered to 1000 (or another number).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193404</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193404"/>
		<updated>2023-09-03T05:45:37Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Table of notable &amp;quot;time usage&amp;quot; lines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Uninstall offending mods. If the performance is worse than expected, consider filing a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorials&amp;diff=193403</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorials&amp;diff=193403"/>
		<updated>2023-09-03T05:42:30Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
This page lists tutorials that can be found here on the wiki. They range from guides for the very first steps in the game to in-depth modding tutorials.&lt;br /&gt;
&lt;br /&gt;
== The first steps and the first base ==&lt;br /&gt;
These tutorials aim to guide the player through the first steps of the game and provide an idea of how a base could look like.&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Quick start guide|Quick start guide]] - Guides through the first steps of the game, from mining the first piece of ore to automating the first science pack.&lt;br /&gt;
* [[Tutorial:Main bus|Main bus]] - A type of base organization that is well suited for beginners.&lt;br /&gt;
* [[Tutorial:Keyboard shortcuts|Keyboard shortcuts]] - A collection of useful keyboard shortcuts.&lt;br /&gt;
&lt;br /&gt;
== Power production ==&lt;br /&gt;
These tutorials take an in-depth look at individual topics related to [[power production]].&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Applied power math|Applied power math]]&lt;br /&gt;
* [[Tutorial:Nuclear power|Nuclear power]]&lt;br /&gt;
* [[Tutorial:Producing power from oil|Producing power from oil]]&lt;br /&gt;
&lt;br /&gt;
== Circuit network ==&lt;br /&gt;
These tutorials take a closer look at the [[circuit network]] and present usage examples.&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Circuit network cookbook|Circuit network cookbook]] - Example-heavy tutorial; for beginners who want to get to know and use the benefits of the circuit network.&lt;br /&gt;
* [[Tutorial:Combinator tutorial|Combinator tutorial]] - Mainly textual and detailed tutorial for advanced circuit network uses.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Train signals|Train signals]]&lt;br /&gt;
* [[Tutorial:Transport use cases|A comparison of the different means of transport]]&lt;br /&gt;
* [[Tutorial:Diagnosing performance issues|Diagnosing performance issues]]&lt;br /&gt;
&lt;br /&gt;
== Modding tutorials ==&lt;br /&gt;
{{:Tutorial:Modding tutorial}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorials&amp;diff=193402</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorials&amp;diff=193402"/>
		<updated>2023-09-03T05:42:19Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
This page lists tutorials that can be found here on the wiki. They range from guides for the very first steps in the game to in-depth modding tutorials.&lt;br /&gt;
&lt;br /&gt;
== The first steps and the first base ==&lt;br /&gt;
These tutorials aim to guide the player through the first steps of the game and provide an idea of how a base could look like.&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Quick start guide|Quick start guide]] - Guides through the first steps of the game, from mining the first piece of ore to automating the first science pack.&lt;br /&gt;
* [[Tutorial:Main bus|Main bus]] - A type of base organization that is well suited for beginners.&lt;br /&gt;
* [[Tutorial:Keyboard shortcuts|Keyboard shortcuts]] - A collection of useful keyboard shortcuts.&lt;br /&gt;
&lt;br /&gt;
== Power production ==&lt;br /&gt;
These tutorials take an in-depth look at individual topics related to [[power production]].&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Applied power math|Applied power math]]&lt;br /&gt;
* [[Tutorial:Nuclear power|Nuclear power]]&lt;br /&gt;
* [[Tutorial:Producing power from oil|Producing power from oil]]&lt;br /&gt;
&lt;br /&gt;
== Circuit network ==&lt;br /&gt;
These tutorials take a closer look at the [[circuit network]] and present usage examples.&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Circuit network cookbook|Circuit network cookbook]] - Example-heavy tutorial; for beginners who want to get to know and use the benefits of the circuit network.&lt;br /&gt;
* [[Tutorial:Combinator tutorial|Combinator tutorial]] - Mainly textual and detailed tutorial for advanced circuit network uses.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial:Train signals|Train signals]]&lt;br /&gt;
* [[Tutorial:Transport use cases|A comparison of the different means of transport]]&lt;br /&gt;
* [[Tutorial:Diagnosing performance issues]]&lt;br /&gt;
&lt;br /&gt;
== Modding tutorials ==&lt;br /&gt;
{{:Tutorial:Modding tutorial}}&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193401</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193401"/>
		<updated>2023-09-03T05:27:55Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Delete offending mods, or file a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; cost from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193400</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193400"/>
		<updated>2023-09-03T05:24:00Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Delete offending mods, or file a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Entity time usage screen.jpg|thumb|right|The entity time usage screen]]&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=File:Entity_time_usage_screen.jpg&amp;diff=193399</id>
		<title>File:Entity time usage screen.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=File:Entity_time_usage_screen.jpg&amp;diff=193399"/>
		<updated>2023-09-03T05:23:25Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Entity time usage screen&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193398</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193398"/>
		<updated>2023-09-03T05:22:19Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Delete offending mods, or file a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces). For this cost, the number of machine counts, not their speed. Fewer but faster machines (with beacons and modules) will cost less than many slow machines.&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193397</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193397"/>
		<updated>2023-09-03T05:20:38Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: /* Digging deeper with the &amp;quot;entity time usage&amp;quot; screen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Delete offending mods, or file a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces).&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve ran out of things to optimize in this section, then you&#039;re just suffering from a factory that has grown bigger than your PC can handle. Congratulations!&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193396</id>
		<title>Tutorial:Diagnosing performance issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Tutorial:Diagnosing_performance_issues&amp;diff=193396"/>
		<updated>2023-09-03T05:16:58Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: Creation of the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Accessing the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
[[File:Debug settings for time usage diagnosis.jpg|thumb|right|The &amp;quot;Debug settings&amp;quot; menu with the options we need to enable]]&lt;br /&gt;
&lt;br /&gt;
Press {{keybinding|F4}} to open the &amp;quot;Debug settings&amp;quot; menu. This will show you a variety of options. You need to enable 3 of them:&lt;br /&gt;
* &#039;&#039;&#039;show-fps&#039;&#039;&#039;: This will show your FPS and UPS counter in the top right of your screen.&lt;br /&gt;
* &#039;&#039;&#039;show-time-usage&#039;&#039;&#039;: This will show details of many systems of the game and how much they are impacting the performance of your game. The majority of this tutorial will be about how to decrypt this information.&lt;br /&gt;
* &#039;&#039;&#039;hide-mod-guis&#039;&#039;&#039;: Sometimes, windows and buttons from mods can hide the information from show-time-usage. This option hides them so we can read everything.&lt;br /&gt;
&lt;br /&gt;
Tip: To read the numbers more easily, open your map and scroll to an area you haven&#039;t explored yet, so the information is on a black background. Though beware that your zoom level and what you&#039;re currently looking at can influence your render time.&lt;br /&gt;
&lt;br /&gt;
For more info on debug options and the debug settings menu, check out [[Debug mode]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FPS vs UPS =&lt;br /&gt;
&lt;br /&gt;
The first thing to look at is your FPS/UPS counter in the top right.  &lt;br /&gt;
* FPS stands for Frames Per Second and relates to the work your graphics card is doing to display the picture on your screen. If your FPS is low, your screen will update less frequently, but your game will continue at regular speed.  &lt;br /&gt;
* UPS stands for Updates Per Second and relates to the calculations needed to advance the state of your world. If your UPS is low, your game will run in slow motion. Factorio always aims to have 60 FPS and UPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FPS can never be higher than UPS.&#039;&#039;&#039; Which leaves you with 2 cases:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, High UPS&#039;&#039;&#039;: Your problem is graphical. Go to Factorio&#039;s graphics settings and reduce some settings here, particularly the &amp;quot;Sprite resolution&amp;quot; setting. Upgrading your graphics card will help with this.&lt;br /&gt;
* &#039;&#039;&#039;Low FPS, Low UPS&#039;&#039;&#039;: This is the issue in 99% of cases. Your problem is low UPS. Continue following this tutorial to figure out what could be the cause and where you can save some UPS.&lt;br /&gt;
&lt;br /&gt;
= Decrypting the &amp;quot;time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
You should see a bunch of text and numbers like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Time usage screen.jpg|border|1000px]]&lt;br /&gt;
&lt;br /&gt;
Each line follows this format:&lt;br /&gt;
 System name: average ms/minimum ms/maximum ms&lt;br /&gt;
&lt;br /&gt;
Those numbers are in &#039;&#039;&#039;milliseconds per tick&#039;&#039;&#039;. A tick is one update step, it is for UPS what a &amp;quot;frame&amp;quot; is for FPS. Since Factorio aims for 60 ticks per second, the game has 16.667ms to calculate each tick. If it takes longer than this, then your UPS will drop below 60.&lt;br /&gt;
&lt;br /&gt;
The 3 numbers for each line are the average time, minimum time, and maximum time taken by the system over the last 100 ticks.&lt;br /&gt;
&lt;br /&gt;
This information is only telling you about the last 100 ticks, which is a little less than 2 seconds of gameplay. If your performance issues only happen some of the time or when you do something specific, you need to have the screen open while it is happening. If it happens too fast, you can take screenshots to read later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that you understand what this information is, look for &#039;&#039;&#039;large numbers&#039;&#039;&#039;. If you are experiencing consistent UPS issues, look at the &#039;&#039;&#039;average times&#039;&#039;&#039;. On the other hand, if you are experiencing occasional freezes or large stutters, look at the &#039;&#039;&#039;maximum times&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remember, since 60 UPS is equivalent to 16.667ms per tick, you can think of it as 1ms of time costing you about 3.5 UPS. Anything above 1ms may be worth looking into, and anything above 5 is very significant.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve found some suspiciously large numbers, refer to the table below to see what the line means, whether you should worry about it, and how you can help:&lt;br /&gt;
&lt;br /&gt;
== Table of notable &amp;quot;time usage&amp;quot; lines ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Explanation !! How to solve&lt;br /&gt;
|-&lt;br /&gt;
| Last save || This is how long your last save took, and is not related to UPS || -&lt;br /&gt;
|-&lt;br /&gt;
| Frame cycle || This is the total time it took to render a frame. This can&#039;t ever be lower than 16.667ms. This doesn&#039;t give you any information that your UPS counter wouldn&#039;t tell you. || -&lt;br /&gt;
|-&lt;br /&gt;
| Wait For Update || This is the time your GPU waited for the world update. This should be roughly equal to the &amp;quot;Update&amp;quot; line below. Don&#039;t worry about it. || -&lt;br /&gt;
|-&lt;br /&gt;
| Render preparation (and sub-lines) || This is related to the rendering of the frame on your screen, costing FPS. This will increase if you zoom out or if you&#039;re looking at a particularly busy part of your factory. || Lower graphical settings.&lt;br /&gt;
|-&lt;br /&gt;
| Render (and sub-lines) || Same as &amp;quot;Render preparation&amp;quot;. || -&lt;br /&gt;
|-&lt;br /&gt;
| Flip[on] || I&#039;m not entirely sure what this is, but it&#039;s related to Vsync. || Try toggling Vsync on or off.&lt;br /&gt;
|-&lt;br /&gt;
| Sleep || When it took less than 16.667ms to prepare a tick, the game sleeps. This is normal and good. If this is above 0, then congrats, you have 60 UPS. || -&lt;br /&gt;
|-&lt;br /&gt;
| Update || This is where we get into the meat of things. The Update line is purely about the world tick and not about rendering the screen frame. This is usually where most of your frame time will be. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Game update || The core systems of the game. || Look at the sub-lines to get more details.&lt;br /&gt;
|-&lt;br /&gt;
| Circuit networks || Self-explanatory. || Use fewer combinators 🙃. Realistically this shouldn&#039;t be a big performance hog unless you&#039;re building a ray-tracer.&lt;br /&gt;
|-&lt;br /&gt;
| Transport lines || Related to belts. || Optimizing belt UPS is a dark art that is out of scope of this guide. Check out [https://www.reddit.com/r/technicalfactorio/ /r/technicalfactorio].&lt;br /&gt;
|-&lt;br /&gt;
| Fluid manager || Self-explanatory. || Reduce your amount of pipes. Use underground pipes (2 fluid entities) wherever they could replace 3 or more pipes. Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Heat manager || Self-explanatory. || Replace nuclear power with solar power.&lt;br /&gt;
|-&lt;br /&gt;
| Entity manager || Related to &amp;quot;entities&amp;quot;, which are a lot of things. This will usually be the largest number in your list. || To dig deeper into this, [[#Digging deeper with the &amp;quot;entity time usage&amp;quot; screen|continue to the next part of the tutorial.]]&lt;br /&gt;
|-&lt;br /&gt;
| Electric networks || Self-explanatory. || This is particularly affected by the &#039;&#039;&#039;number of different electric networks&#039;&#039;&#039;, not their size. A single electric pole connected to nothing else is an electric network and is a performance cost. A mod like [https://mods.factorio.com/mod/puppy-ups-tools Puppy&#039;s UPS Tools] can help you find all your small or isolated electric networks so you can connect them or remove them.&lt;br /&gt;
|-&lt;br /&gt;
| Trains || Self-explanatory. || Use fewer but bigger trains. Use a train network optimized for UPS, which is also a dark art, out of scope of this guide.&lt;br /&gt;
|-&lt;br /&gt;
| Chart update || Related to refreshing chunks of your map, usually done by radars. || Reduce your number of radars.&lt;br /&gt;
|-&lt;br /&gt;
| Lua garbage incremental || This is related to mod scripts, but it&#039;s hard to find which is responsible. || First, try and solve any issue in the &amp;quot;Script update&amp;quot; lines. If there is nothing there but you still have a high &amp;quot;Lua garbage incremental&amp;quot; cost, you will have to remove mods 1-by-1 until you find the culprit.&lt;br /&gt;
|-&lt;br /&gt;
| Script update || The time taken to run mods&#039; Lua scripts. Each &amp;quot;mod-XXX&amp;quot; sub-line is the cost to run the scripts of a particular mod. || Delete offending mods, or file a bug with the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hidden mod costs ==&lt;br /&gt;
&lt;br /&gt;
A mod&#039;s line on the &amp;quot;Script update&amp;quot; section is not always the entirety of its cost! Mods can indirectly affect the time of core systems. For example, a mod that makes trains repath a lot (such as LTN, or SE&#039;s space elevator) might increase the Trains cost, and a mod that creates a lot of different electric networks (such as the Ruins mod) would increase the Electric network cost.&lt;br /&gt;
&lt;br /&gt;
= Digging deeper with the &amp;quot;entity time usage&amp;quot; screen =&lt;br /&gt;
&lt;br /&gt;
Return to the &amp;quot;Debug settings&amp;quot; menu, enable &#039;&#039;&#039;show-entity-time-usage&#039;&#039;&#039; and disable &#039;&#039;&#039;show-time-usage&#039;&#039;&#039; (It will get in the way).&lt;br /&gt;
&lt;br /&gt;
On this screen, the &amp;quot;Entity manager&amp;quot; from the previous screen is split between each class of entity. The first number of each line is the time cost this tick, the second number is the number of active entities of this class.&lt;br /&gt;
&lt;br /&gt;
Most lines are self explanatory, but a couple notes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssemblingMachine&#039;&#039;&#039;: This isn&#039;t just assembling machines, but every building where you have to select a recipe (e.g. chemical plants, refineries, etc., but not furnaces).&lt;br /&gt;
* &#039;&#039;&#039;Inserter&#039;&#039;&#039;: Look into &amp;quot;inserter clocking&amp;quot; to reduce this. This cost is also affected by the size of containers [https://www.reddit.com/r/Seablock/comments/14kllvp/warehouse_vs_chests_ups_testing/ (See this thread)].&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: This is biters. Removing biters will remove this cost.&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=File:Time_usage_screen.jpg&amp;diff=193395</id>
		<title>File:Time usage screen.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=File:Time_usage_screen.jpg&amp;diff=193395"/>
		<updated>2023-09-03T03:09:11Z</updated>

		<summary type="html">&lt;p&gt;Wiwiweb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Time usage screen in-game&lt;/div&gt;</summary>
		<author><name>Wiwiweb</name></author>
	</entry>
</feed>