mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED (#71056)
- Makes QDELETED use isnull(x) instead of !x, giving about 0.2 to 0.25s of speed. - Make disposal constructs only update icon state rather than go through expensive overlay code. Unfortunately did not have much effect, but is something they should've been doing nonetheless. - Makes RegisterSignal only take signals directly as opposed to allocating a fresh list of signals. Very few consumers actually used this and it costs about 0.4s. Also I think this is just a bad API anyway and that separate procs are important `\bRegisterSignal\((.*)list\(` replaced with `RegisterSignals($1list(`
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
/obj/machinery/mineral/proc/register_input_turf()
|
||||
input_turf = get_step(src, input_dir)
|
||||
if(input_turf) // make sure there is actually a turf
|
||||
RegisterSignal(input_turf, list(COMSIG_ATOM_INITIALIZED_ON, COMSIG_ATOM_ENTERED), PROC_REF(pickup_item))
|
||||
RegisterSignals(input_turf, list(COMSIG_ATOM_INITIALIZED_ON, COMSIG_ATOM_ENTERED), PROC_REF(pickup_item))
|
||||
|
||||
/// Unregisters signals that are registered the machine's input turf, if it has one.
|
||||
/obj/machinery/mineral/proc/unregister_input_turf()
|
||||
|
||||
Reference in New Issue
Block a user