Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

There are too many roundstart machines that require processing #4537

Open
haukeschuemann opened this issue Jan 19, 2020 · 5 comments
Open

There are too many roundstart machines that require processing #4537

haukeschuemann opened this issue Jan 19, 2020 · 5 comments
Labels
High priority issue Fix or confirm non reproducible.

Comments

@haukeschuemann
Copy link
Contributor

haukeschuemann commented Jan 19, 2020

There are 10 times as many processing machines at roundstart as there are on /tg/station.
This is one of the main reasons why stuff is not performing as well as it could. I think that there probably need to be some map changes to properly fix this, the following things could help a lot with fixing this issue:
Replacing far-off rarely used machines with dummy props.
Replacing machines with just random assortment of junk.
Turing some things were it's really questionable if they should process into not machines. Something that would fall into this category would be conveyor belts, for example. Only the handle actually needs processing.

[Removed screenshots for being grossly inaccurate.]

@MadmanMartian
Copy link
Contributor

how many of these are just unpowered?

@haukeschuemann
Copy link
Contributor Author

No idea. There might be some that are which is another angle to attack this issue from.
The hacky way of fixing this would be to increase the number 16 in this piece of code in https://github.com/discordia-space/CEV-Eris/blob/master/code/controllers/subsystems/machines.dm

	var/tickCheckPeriod = round(local_list.len/16+1) //pause process at most every 1/16th length of list
	while(nextProcessingListPosition && (nextProcessingListPosition <= local_list.len)) //until position is valid
		thing = local_list[nextProcessingListPosition]
		nextProcessingListPosition++

Makes processing machines incredibly laggy but makes the gameplay more bearable.

@ACCount12
Copy link
Contributor

"Eris" map is significantly larger than most tgstation maps, but not by an order of magnitude. This needs to be investigated - it's likely that due to some oversight, some machines that don't need processing end up processing anyway.

@sl0w3st
Copy link
Contributor

sl0w3st commented Sep 27, 2020

image
Leaving it there so it would last bit longer

@LetterN
Copy link
Contributor

LetterN commented Sep 4, 2021

tg latest makes it only process once (as it reuturns PROCESS_KILL), popping the machinery out of the queue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
High priority issue Fix or confirm non reproducible.
Projects
None yet
Development

No branches or pull requests

5 participants