MaxNeedsSnacks / roadrunner

A general-purpose performance mod and fork of the popular "Lithium" mod made for the Forge mod loader.
GNU Lesser General Public License v3.0
24 stars 5 forks source link

Requesting config to disable maths mixins for client side entity movement due to possible incompatibility #54

Closed Kaleidio closed 2 years ago

Kaleidio commented 2 years ago

Is your feature request related to a problem? Please describe. I am currently investigating modpack framerates and it seems some maths of roadrunner are taking a long time.

Describe the solution you'd like Can I please have provided the mixin disable for the classes of common.entity.movement? if this is already doable can you please direct me to where and how to place this in the configs.

Describe alternatives you've considered I am still finding other mods that are taking a long time on the render thread and finding solutions for them as well.

Additional context The long frame time only occurs around 20 times per second, which means it's a client maths problem I am dealing with. it is causing maximum framerate and 0.1% low framerate to drop in ways it usually shouldn't.

Kaleidio commented 2 years ago

as seen on this profile the maximum time it takes for lithium's algorithm is 16 milliseconds over the course of this 30 second profile, which is unusually large compared to previous tests with certain mods removed that I did not keep track of. Dungeons Mod also seems to have an issue.

https://spark.lucko.me/kBOWSS9zaR

MaxNeedsSnacks commented 2 years ago

mixin.entity.collisions, mixin.entity.fast_suffocation_check and mixin.chunk.count_oversized_blocks are the only mixins that refert to anything from that package to my knowledge, if you want to, you can try disabling those using the rule overrides and see whether that increases your framerate ^^

Kaleidio commented 2 years ago

sorry for the delay, had to deal with modlist corruption on curseforge that was affecting my export process.

as expected there was no real change in removing these mixins, in fact the tick time on the server side doubled from 5ms to 9ms. thanks anyway.