Mesecons speed advices

From Pandorabox
Revision as of 13:48, 19 April 2021 by BuckarooBanzai (talk | contribs)
Jump to navigation Jump to search

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.

Be sure to read Mesecons guidelines

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. It's probably 16(X) x 16(Y) x 16(Z) blocks. It's best to put the whole device inside one mapblock.

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