mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 03:02:54 +00:00
controllers: make process_machines more profilable
Splits process_machines() into 3 procs for its actions, trying to figure out which is causing the lagspikes. Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
This commit is contained in:
@@ -254,6 +254,10 @@ datum/controller/game_controller/proc/process_diseases()
|
|||||||
active_diseases.Cut(i,i+1)
|
active_diseases.Cut(i,i+1)
|
||||||
|
|
||||||
datum/controller/game_controller/proc/process_machines()
|
datum/controller/game_controller/proc/process_machines()
|
||||||
|
process_machines_process()
|
||||||
|
process_machines_power()
|
||||||
|
process_machines_rebuild()
|
||||||
|
datum/controller/game_controller/proc/process_machines_process()
|
||||||
var/i = 1
|
var/i = 1
|
||||||
while(i<=machines.len)
|
while(i<=machines.len)
|
||||||
var/obj/machinery/Machine = machines[i]
|
var/obj/machinery/Machine = machines[i]
|
||||||
@@ -265,7 +269,8 @@ datum/controller/game_controller/proc/process_machines()
|
|||||||
continue
|
continue
|
||||||
machines.Cut(i,i+1)
|
machines.Cut(i,i+1)
|
||||||
|
|
||||||
i=1
|
datum/controller/game_controller/proc/process_machines_power()
|
||||||
|
var/i=1
|
||||||
while(i<=active_areas.len)
|
while(i<=active_areas.len)
|
||||||
var/area/A = active_areas[i]
|
var/area/A = active_areas[i]
|
||||||
if(A.powerupdate && A.master == A)
|
if(A.powerupdate && A.master == A)
|
||||||
@@ -283,7 +288,7 @@ datum/controller/game_controller/proc/process_machines()
|
|||||||
A.powerupdate = 0
|
A.powerupdate = 0
|
||||||
active_areas.Cut(i,i+1)
|
active_areas.Cut(i,i+1)
|
||||||
|
|
||||||
|
datum/controller/game_controller/proc/process_machines_rebuild()
|
||||||
if(controller_iteration % 150 == 0 || rebuild_active_areas) //Every 300 seconds we retest every area/machine
|
if(controller_iteration % 150 == 0 || rebuild_active_areas) //Every 300 seconds we retest every area/machine
|
||||||
for(var/area/A in all_areas)
|
for(var/area/A in all_areas)
|
||||||
if(A == A.master)
|
if(A == A.master)
|
||||||
@@ -292,8 +297,6 @@ datum/controller/game_controller/proc/process_machines()
|
|||||||
rebuild_active_areas = 0
|
rebuild_active_areas = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
datum/controller/game_controller/proc/process_objects()
|
datum/controller/game_controller/proc/process_objects()
|
||||||
var/i = 1
|
var/i = 1
|
||||||
while(i<=processing_objects.len)
|
while(i<=processing_objects.len)
|
||||||
|
|||||||
Reference in New Issue
Block a user