Difference between revisions of "Mesecons speed advices"

From Pandorabox
Jump to navigation Jump to search
Line 22: Line 22:
 
When you make a device, you want to put it far enough from others to avoid too much things working at the same time.
 
When you make a device, you want to put it far enough from others to avoid too much things working at the same time.
  
There exists a concept of mapblock, not a certain block of the map, but a cube containing a number of normal blocks. I am not really sure, but it's probably 32x32x32 blocks. ''':TODO:''' It's best to put the whole device inside one mapblock.
+
There exists a concept of mapblock, not a certain block of the map, but a cube containing a number of normal blocks. I am not really sure, but it's probably 16(X) x 16(Y) x 16(Z) blocks. ''':TODO:''' It's best to put the whole device inside one mapblock.
  
 
You can currently see the mapblock you are at with "/mesecons_hud on".
 
You can currently see the mapblock you are at with "/mesecons_hud on".

Revision as of 03:45, 18 October 2019

This article exists to provide advices on the speed of Mesecons mod devices. Please add your ideas to discussion so we have easily-readable list of solutions.

Generic advice

  • Please try to make your device as simple as it needs to be.
  • Check how your device uses system resources with "/mesecons_hud on" and try to minimize the use.
  • Long LuaController code tends to be slower than short one, if there's no cycles. If you can, simply use interrupt with a given time and basic logic.

Sample switcher code

   interrupt(2)
   port.b = port.d
   port.d = not port.d

Wire lengths

Each mesecon wire changes its style when switching. It means changing the database and interacting with client, plus lots of Lua processing. By minimizing wire lengths, you minimize the processing delay your device adds and vice versa, so please use shorter wires.

Digiline wires partially help. In general, digiline devices are less active and you can speed up some processing using digiline injectors instead of stackwise ones, at least currently.

Spacing

Mesecons devices work after player approaches them and stop some time later. When you make a device, you want to put it far enough from others to avoid too much things working at the same time.

There exists a concept of mapblock, not a certain block of the map, but a cube containing a number of normal blocks. I am not really sure, but it's probably 16(X) x 16(Y) x 16(Z) blocks. :TODO: It's best to put the whole device inside one mapblock.

You can currently see the mapblock you are at with "/mesecons_hud on".