discordia-space / CEV-Eris

Death is our destination
https://discord.gg/QfEg7K7
Other
152 stars 496 forks source link

There are too many roundstart machines that require processing #4537

Open haukeschuemann opened 4 years ago

haukeschuemann commented 4 years ago

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 commented 4 years ago

how many of these are just unpowered?

haukeschuemann commented 4 years ago

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 commented 4 years ago

"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 commented 4 years ago

image Leaving it there so it would last bit longer

LetterN commented 3 years ago

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