mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Moves camera update handling to background subsystem, (maybe) fixing lag (#92208)
## About The Pull Request When a camera update is triggered, it is instead added to a queue on a background subsystem An AI entering a camera chunk which is queued to update will force the update immediately (bypassing the queue) While the root problem of this is, ultimately, not addressed... <img width="554" height="58" alt="467828777-eff3f0e5-49d6-4997-b4d7-05eff6432155" src="https://github.com/user-attachments/assets/c2d6a5f5-d958-463e-959f-116bd0dab475" /> ...the change will ultimately prevent update spam from consuming all of the server's resources - instead allocating updates to the backburner in times of high server stress (or on multi-z maps) ## Changelog 🆑 Melbert refactor: Refactored the way camera updates are handled to hopefully reduce some lag. Report any oddities /🆑
This commit is contained in:
@@ -189,7 +189,7 @@
|
||||
/obj/item/circuit_component/remotecam/proc/update_camera_location(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change)
|
||||
SIGNAL_HANDLER
|
||||
if(current_camera_state && current_cameranet_state)
|
||||
GLOB.cameranet.updatePortableCamera(shell_camera, 0.5 SECONDS)
|
||||
SScameras.update_portable_camera(shell_camera, 0.5 SECONDS)
|
||||
|
||||
/**
|
||||
* Add camera from global cameranet
|
||||
@@ -197,8 +197,8 @@
|
||||
/obj/item/circuit_component/remotecam/proc/cameranet_add()
|
||||
if(current_cameranet_state)
|
||||
return
|
||||
GLOB.cameranet.cameras += shell_camera
|
||||
GLOB.cameranet.addCamera(shell_camera)
|
||||
SScameras.cameras += shell_camera
|
||||
SScameras.add_camera_to_chunk(shell_camera)
|
||||
current_cameranet_state = TRUE
|
||||
|
||||
/**
|
||||
@@ -207,8 +207,8 @@
|
||||
/obj/item/circuit_component/remotecam/proc/cameranet_remove()
|
||||
if(!current_cameranet_state)
|
||||
return
|
||||
GLOB.cameranet.removeCamera(shell_camera)
|
||||
GLOB.cameranet.cameras -= shell_camera
|
||||
SScameras.remove_camera_from_chunk(shell_camera)
|
||||
SScameras.cameras -= shell_camera
|
||||
current_cameranet_state = FALSE
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user