Create

Create

86M Downloads

Hose pulleys cause extreme amounts of lag

AdalynBlack opened this issue ยท 0 comments

commented

Describe the Bug

It would appear that Hose pulleys have a tendency to cause extreme amounts of lag. My friend and I were using a hose pulley to draw water up from the ocean, and a while later after our framerates were uncomfortably low, I started searching for the culprit. After looking around at a bunch of different potential sources of the lag, I came to the conclusion that it was a result of the hose pulley. After replacing it with an infinite water source, we both gained 20-30 fps, and the game was significantly less stuttery.

I also went through numerous tests to determine the exact cause of the lag. I did 3 tests using an fps overlay with a 15 second averaged fps, and tested 3 times, giving it 17 seconds to settle, using f3+c to check the exact same position, and f3+a to remove artifacts from chunk loading. The table below shows my results, averaged over 3 trials for each test.

15 second average Minimum
Hose pulley* on, pumps running 516.33 147
Hose pulley* off, pumps off 491.33 121
Pulling from infinite water source 564 149
Connected to infinite water source but not pulling 573 163.67

*Hose pulley was placed at y92 pulling from the ocean, whose surface was at y62. The pump's total length was 47 blocks, with the bottom part 2 blocks off of the ocean floor

The raw data is in the attached file

Reproduction Steps

  1. Open a fresh Minecraft world
  2. Place a hose pulley at y92
  3. Lower the end of the pulley into the ocean
  4. Connect fluid pumps to the hose pulley (I did 9 in my testing, because that is what we have in our world)
  5. Run the pumps at max rpm into a fluid tank to dispose of the excess water nicely
  6. Go to a specific spot, press f3+c to copy the coordinates exactly, then record your framerate after your game settles. You may have to uncap your framerate for this if there isn't much else lagging the game
  7. Remove the hose pulley and replace it with an infinite water source
  8. Paste the copied teleport command from step 6 to go back to the same spot as before, and record your new framerate
  9. Observe the difference in framerate between both setups

Expected Result

Framerate should be approximately equal whether a pulley is in use or not, keeping a smooth, consistent experience for players

Screenshots and Videos

Screenshots from testing. If you see the cog in the top left, that means it was a powered test.
2023-06-21_20 07 43
2023-06-21_20 08 18
2023-06-21_20 10 05
2023-06-21_20 10 46
2023-06-21_20 13 32
2023-06-21_20 14 12
2023-06-21_20 17 55
2023-06-21_20 18 34
2023-06-21_20 19 08
2023-06-21_20 19 50
2023-06-21_20 20 25
2023-06-21_20 21 00

Crash Report or Log

No response

Operating System

Windows 11

Mod Version

0.5.1b

Minecraft Version

1.19.2

Forge Version

43.2.3

Other Mods

Not a crash, but here's the full mod list:

adaptive_performance_tweaks_1.19.2-6.8.0.jar
adaptive_performance_tweaks_core_1.19.2-6.9.1.jar
adaptive_performance_tweaks_gamerules_1.19.2-6.8.0.jar
adaptive_performance_tweaks_items_1.19.2-6.8.0.jar
adaptive_performance_tweaks_mods_1.19.2-6.5.2.jar
adaptive_performance_tweaks_player_1.19.2-6.8.0.jar
adaptive_performance_tweaks_spawn_1.19.2-6.9.0.jar
AI-Improvements-1.19.2-0.5.2.jar
aileron-1.19-forge-1.0.2.jar
alternate-current-mc1.19-1.6.0.jar
AmbientEnvironment-forge-1.19.2-8.0+3.jar
Amplified_Nether_1.19.3_v1.2.1.jar
appleskin-forge-mc1.19-2.4.2.jar
architectury-6.5.85-forge.jar
ArmorPoser-forge-1.19.2-1.2.2.jar
ArmorSoundTweak-6.0.0-forge.jar
auto_third_person-forge-1.19.2-2.jar
bbs-1.19.2-1.1.0-forge.jar
bdlmod-1.19.2-1.2.0.jar
BetterAnimationsCollection-v4.0.5-1.19.2-Forge.jar
BetterCompatibilityChecker-1.0.10-build.50+mc1.19.2.jar
BetterF3-4.0.0-Forge-1.19.2.jar
bettersafebed-forge-1.19-4.jar
BetterThirdPerson-Forge-1.19-1.9.0.jar
bettervillage-forge-1.19.2-3.1.0.jar
blueprint-1.19.2-6.1.2.jar
caelus-forge-1.19.2-3.0.0.6.jar
canary-mc1.19.2-0.2.7.jar
carryon-forge-1.19.2-2.0.5.16.jar
catalogue-1.7.0-1.19.2.jar
cloth-config-8.2.88-forge.jar
collective-1.19.2-6.61.jar
configured-2.1.1-1.19.2.jar
convenientnametags-0.2.1.jar
create-1.19.2-0.5.1.b.jar
createdeco-1.3.3-1.19.2.jar
createteleporters1.0.jar
create_enchantment_industry-1.19.2-for-create-0.5.1.b-1.2.4.c.jar
create_jetpack-3.1.1.jar
crittersandcompanions-1.19.2-2.0.1.jar
cullleaves-forge-3.0.1.jar
curios-forge-1.19.2-5.1.4.1.jar
curiouslanterns-1.19.2-1.3.3.jar
CustomPlayerModels-1.19-0.6.8a.jar
dynamiclightsreforged-1.19.2_v1.4.0.jar
EasyAnvils-v4.0.11-1.19.2-Forge.jar
EasyMagic-v4.3.3-1.19.2-Forge.jar
effective_fg-1.3.4.jar
ElytraPhysicsForge-1.1.1.jar
elytraslot-forge-6.1.1+1.19.2.jar
EnchantingInfuser-v4.2.2-1.19.2-Forge.jar
entityculling-forge-1.6.1-mc1.19.2.jar
Entity_Collision_FPS_Fix-forge-1.18.2-1.0.0.jar
fairylights-6.0.0-1.19.2.jar
Fallingleaves-1.19.1-2.0.0-alpha+20221129-2000.jar
FarmersDelight-1.19-1.2.1.jar
Fastload-Reforged-8.2.1+1.19.2.jar
FastSuite-1.19.2-4.1.0.jar
flywheel-forge-1.19.2-0.6.8.a.jar
friendsandfoes-forge-mc1.19.2-1.8.2.jar
geckolib-forge-1.19-3.1.40.jar
guardvillagers-1.19.2-1.5.6.jar
honeystickypistonmod-1.19.2-1.0.0.jar
Iceberg-1.19.2-forge-1.1.4.jar
illuminations-forge-1.19.2-1.10.9.20.jar
ImmersiveFX 1.0.0 1.19.2.jar
immersive_aircraft-0.5.1+1.19.2-forge.jar
incapacitated-1.19.2-1.4.4.1.jar
Incendium_1.19.3_v5.1.6.jar
inventorio-1.19-forge-1.9.1.jar
InventoryProfilesNext-forge-1.19-1.10.5.jar
Jade-1.19.1-forge-8.8.1.jar
jei-1.19.2-forge-11.6.0.1015.jar
kotlinforforge-3.12.0-all.jar
LegendaryTooltips-1.19.2-forge-1.4.0.jar
libIPN-forge-1.19-3.0.2.jar
libraryferret-forge-1.19.2-4.0.0.jar
Map Atlases-forge-1.19.2-3.0.1.jar
MobPlaques-v4.0.1-1.19.2-Forge.jar
modernfix-forge-5.0.1-beta.2mc1.19.2.cb6f595cc3.jar
MouseTweaks-forge-mc1.19-2.23.jar
musicdr-3.0.0-hotfix.jar
neapolitan-1.19.2-4.0.2.jar
nightlights_1.19.2_1.1.jar
notenoughanimations-forge-1.6.2-mc1.19.2.jar
Nullscape_1.19.3_v1.2.1a.jar
okzoomer-forge-1.19-2.1.1.jar
physics-mod-pro-v153-forge-1.19.2.jar
Placebo-1.19.2-7.2.0.jar
pluto-mc1.19.2-0.0.9.jar
Prism-1.19.1-1.0.2.jar
PuzzlesLib-v4.4.3-1.19.2-Forge.jar
radiantgear-forge-2.0.1+1.19.2.jar
ReAuth-1.19-Forge-4.0.7.jar
Retraining-forge-1.19-1.2.0.jar
rubidium-0.6.2b.jar
rubidium_extras-1.19.2_v1.3.2.jar
saturn-mc1.19.2-0.0.4.jar
scaffoldingdropsnearby-1.19.2-3.0.jar
sliceanddice-forge-2.2.0.jar
SmartBrainLib-forge-1.19.2-1.9.jar
smoothboot(reloaded)-mc1.19.2-0.0.2.jar
sophisticatedbackpacks-1.19.2-3.18.50.849.jar
sophisticatedcore-1.19.2-0.5.71.319.jar
soundphysics-forge-1.19.2-1.0.18.jar
spiderstpo-1.19.2-2.0.4.jar
starlight-1.1.1+forge.cf5b10b.jar
Steam_Rails-1.3.5+forge-mc1.19.2.jar
Terralith_1.19.3_v2.3.8.jar
throttle-1.18-1.0.0.0.jar
tia-1.19.2-1.0-forge.jar
toofast-1.19-0.2.2.4.jar
TravelersBackpack-1.19.2-8.2.28.jar
TreeChop-1.19.2-forge-0.17.8a.jar
upgradedcore-1.19.2-4.1.0.1-release.jar
upgradednetherite-1.19.2-5.1.0.9-release.jar
upgradednetherite_items-1.19.2-4.1.0.1-release.jar
upgradednetherite_ultimate-1.19.2-4.1.0.4-release.jar
upgradedtools-1.19.2-2.1.0.2-release.jar
vc_gliders-1.0.2-forge.jar
villagernames-1.19.2-5.2.jar
YungsApi-1.19.2-Forge-3.8.9.jar
YungsBetterDesertTemples-1.19.2-Forge-2.2.2.jar
YungsBetterDungeons-1.19.2-Forge-3.2.2.jar
YungsBetterMineshafts-1.19.2-Forge-3.2.0.jar
YungsBetterNetherFortresses-1.19.2-Forge-1.0.5.jar
YungsBetterOceanMonuments-1.19.2-Forge-2.1.0.jar
YungsBetterStrongholds-1.19.2-Forge-3.2.0.jar
YungsBetterWitchHuts-1.19.2-Forge-2.1.0.jar
YungsBridges-1.19.2-Forge-3.1.0.jar
YungsExtras-1.19.2-Forge-3.1.0.jar

Additional Context

No response