Extended Drawers

Extended Drawers

145k Downloads

[Bug]: The chunk checking make a lot of lag

Gromatou opened this issue ยท 3 comments

commented

Description of the issue

The mod check all time we generate or visit a chunk if there are a drawer in it, but scan the chunk is the wrong way and thats useless
profiler in a modpack
https://spark.lucko.me/qqepiR9d12 34% of cpu usage
profiler with no other mods
https://spark.lucko.me/BHJwlaZJdb 14% of cpu usage
image

Reproduction steps

just launch a spark profiler and visit some chunk

Mod version

1.3.5 (i've try the 1.3.4 but thats the same)

Operating System

windows 10

Minecraft version

1.18.2

Other mods

in the modpack :
[22:31:39] [main/INFO]: Loading 223 mods:
- additionaladditions 4.0.5
- adventure-platform-fabric 5.2.1 via tabtps-fabric
- alternate-current 1.4.0
- appleskin 2.4.1+mc1.18.2
- architectury 4.10.86
- authme 3.1.0
- awesomedungeon 3.0.0
- awesomedungeonend 3.0.0
- awesomedungeonnether 3.0.0
- awesomedungeonocean 3.0.0
- axesareweapons 1.6.0
- betterbeds 1.2.0
- betterpingdisplay 1.1.1
- blue_endless_jankson 1.2.1 via jankson
- bosses_of_mass_destruction 1.3.9-1.18.2
- c2me 0.2.0+alpha.7.34
- c2me-base 0.2.0+alpha.7.34 via c2me
- c2me-client-uncapvd 0.2.0+alpha.7.34 via c2me
- c2me-fixes-chunkio-threading-issues 0.2.0+alpha.7.34 via c2me
- c2me-fixes-general-threading-issues 0.2.0+alpha.7.34 via c2me
- c2me-fixes-worldgen-threading-issues 0.2.0+alpha.7.34 via c2me
- c2me-fixes-worldgen-vanilla-bugs 0.2.0+alpha.7.34 via c2me
- c2me-notickvd 0.2.0+alpha.7.34 via c2me
- c2me-opts-allocs 0.2.0+alpha.7.34 via c2me
- c2me-opts-chunk-access 0.2.0+alpha.7.34 via c2me
- c2me-opts-chunkio 0.2.0+alpha.7.34 via c2me
- c2me-opts-math 0.2.0+alpha.7.34 via c2me
- c2me-opts-scheduling 0.2.0+alpha.7.34 via c2me
- c2me-opts-worldgen-general 0.2.0+alpha.7.34 via c2me
- c2me-opts-worldgen-vanilla 0.2.0+alpha.7.34 via c2me
- c2me-rewrites-chunkio 0.2.0+alpha.7.34 via c2me
- c2me-server-utils 0.2.0+alpha.7.34 via c2me
- c2me-threading-chunkio 0.2.0+alpha.7.34 via c2me
- c2me-threading-lighting 0.2.0+alpha.7.34 via c2me
- c2me-threading-scheduling 0.2.0+alpha.7.34 via c2me
- c2me-threading-worldgen 0.2.0+alpha.7.34 via c2me
- caffeineconfig 1.0.0+1.17 via sodium-extra
- cardinal-components 4.2.0
- cardinal-components-base 4.2.0 via cardinal-components
- cardinal-components-block 4.2.0 via cardinal-components
- cardinal-components-chunk 4.2.0 via cardinal-components
- cardinal-components-entity 4.2.0 via cardinal-components
- cardinal-components-item 4.2.0 via cardinal-components
- cardinal-components-level 4.2.0 via cardinal-components
- cardinal-components-scoreboard 4.2.0 via cardinal-components
- cardinal-components-world 4.2.0 via cardinal-components
- chunky 1.2.164
- cloth-basic-math 0.6.1 via cloth-config
- cloth-config 6.4.90
- cloud 1.7.0-SNAPSHOT via tabtps-fabric
- cloud_commandframework_cloud-brigadier_ 1.7.0-SNAPSHOT via cloud
- cloud_commandframework_cloud-core_ 1.7.0-SNAPSHOT via cloud
- cloud_commandframework_cloud-minecraft-extras 1.7.0-SNAPSHOT via tabtps-fabric
- cloud_commandframework_cloud-services_ 1.7.0-SNAPSHOT via cloud
- clumps 8.0.0+15
- com_electronwill_night-config_core 3.6.5 via c2me
- com_electronwill_night-config_toml 3.6.5 via c2me
- com_eliotlash_mclib_mclib 20 via geckolib3
- com_github_llamalad7_mixinextras 0.0.11 via porting_lib
- com_github_luben_zstd-jni 1.5.2-2 via dashloader
- com_google_code_findbugs_jsr305 3.0.2 via create
- com_ibm_async_asyncutil 0.1.0 via c2me
- com_typesafe_config 1.4.2 via tabtps-fabric
- com_velocitypowered_velocity-native 1.1.0-SNAPSHOT via krypton
- create 0.5.0e-733
- cullleaves 2.3.2
- dashloader 4.1.3+1.18
- de_poiu_apron_apron 2.1.1 via mconfig
- dev_quantumfusion_hyphen 0.2.2 via dashloader
- dev_quantumfusion_taski 1.1.0 via dashloader
- dripstone_fluid_lib 1.2.0 via milk
- eatinganimationid 1.8
- endrem 5.1.0
- entityculling 1.5.1
- extended_drawers 1.3.4+mc.1.18.2
- fabric-api 0.67.0+1.18.2
- fabric-api-base 0.4.4+d7c144a860 via fabric-api
- fabric-api-lookup-api-v1 1.6.2+2373a54560 via fabric-api
- fabric-biome-api-v1 8.0.6+651bcc5960 via fabric-api
- fabric-block-api-v1 1.0.0+ee3621fc60 via fabric-api
- fabric-blockrenderlayer-v1 1.1.12+3ac43d9560 via fabric-api
- fabric-command-api-v1 1.1.9+d7c144a860 via fabric-api
- fabric-commands-v0 0.2.8+b4f4f6cd60 via fabric-api
- fabric-containers-v0 0.1.23+d7c144a860 via fabric-api
- fabric-content-registries-v0 3.1.1+c85f2e3860 via fabric-api
- fabric-convention-tags-v1 1.0.1+474e4f7960 via fabric-api
- fabric-crash-report-info-v1 0.2.1+ee261a3e60 via fabric-api
- fabric-data-generation-api-v1 3.0.2+9fcb91d260 via fabric-api
- fabric-dimensions-v1 2.1.20+489d6f8260 via fabric-api
- fabric-entity-events-v1 1.4.8+d7c144a860 via fabric-api
- fabric-events-interaction-v0 0.4.19+d7c144a860 via fabric-api
- fabric-events-lifecycle-v0 0.2.20+d7c144a860 via fabric-api
- fabric-game-rule-api-v1 1.0.13+d7c144a860 via fabric-api
- fabric-item-api-v1 1.6.0+d8cf4e5a60 via fabric-api
- fabric-item-groups-v0 0.3.14+91896a4960 via fabric-api
- fabric-key-binding-api-v1 1.0.12+54e5b2ec60 via fabric-api
- fabric-keybindings-v0 0.2.10+b4f4f6cd60 via fabric-api
- fabric-language-kotlin 1.8.6+kotlin.1.7.21
- fabric-lifecycle-events-v1 2.1.0+cc71601c60 via fabric-api
- fabric-loot-api-v2 1.1.0+1997ad1260 via fabric-api
- fabric-loot-tables-v1 1.1.2+e747827960 via fabric-api
- fabric-mining-level-api-v1 2.1.4+cc71601c60 via fabric-api
- fabric-models-v0 0.3.6+d7c144a860 via fabric-api
- fabric-networking-api-v1 1.0.23+2d30af4b60 via fabric-api
- fabric-networking-v0 0.3.10+b4f4f6cd60 via fabric-api
- fabric-object-builder-api-v1 2.1.3+032c981d60 via fabric-api
- fabric-particles-v1 0.2.12+526dc1ac60 via fabric-api
- fabric-permissions-api-v0 0.1-SNAPSHOT via spark
- fabric-registry-sync-v0 0.9.11+bb2e047760 via fabric-api
- fabric-renderer-api-v1 0.4.15+ee3621fc60 via fabric-api
- fabric-renderer-indigo 0.5.5+41a02c8a60 via fabric-api
- fabric-renderer-registries-v1 3.2.11+b4f4f6cd60 via fabric-api
- fabric-rendering-data-attachment-v1 0.3.8+ee3621fc60 via fabric-api
- fabric-rendering-fluids-v1 2.0.2+54e5b2ec60 via fabric-api
- fabric-rendering-v0 1.1.13+b4f4f6cd60 via fabric-api
- fabric-rendering-v1 1.10.7+54e5b2ec60 via fabric-api
- fabric-resource-conditions-api-v1 2.0.3+91b7aa6660 via fabric-api
- fabric-resource-loader-v0 0.5.2+446e059560 via fabric-api
- fabric-screen-api-v1 1.0.10+d882b91560 via fabric-api
- fabric-screen-handler-api-v1 1.2.2+1f6558e860 via fabric-api
- fabric-textures-v0 1.0.12+3ac43d9560 via fabric-api
- fabric-transfer-api-v1 1.6.3+f4563ac860 via fabric-api
- fabric-transitive-access-wideners-v1 1.1.0+e747827960 via fabric-api
- fabricloader 0.14.10
- fake-player-api 0.3.0 via create
- fastchest 1.2+1.18
- flywheel 0.6.4-30 via create
- forge_tags 2.1 via create
- forgeconfigapiport 3.2.0 via create
- geckolib3 3.0.79
- graphlib 0.2.4+1.18.2 via extended_drawers
- icommon 1.18
- illagerexp 0.1.5
- incendium 5.0.4
- indium 1.0.7+mc1.18.2
- io_github_douira_glsl-transformer 1.0.0-pre21.2 via iris
- io_leangen_geantyref_geantyref 1.3.13 via cloud
- iris 1.4.2
- jade 5.99.9
- jadeaddons 2.0.1
- jankson 4.0.0+j1.2.0 via libgui
- java 17
- jei 10.2.1.283
- krypton 0.1.9
- kubejs 1802.5.5-build.556
- kubejs_create 1802.2.2-build.28
- lambdynlights 2.1.0+1.17
- lazy-language-loader 0.3.0
- lazydfu 0.1.2
- libgui 5.1.0+1.18 via additionaladditions
- libninepatch 1.1.0 via libgui
- libraryferret 3.0.0
- lithium 0.7.10
- lootr 0.3.23.60
- maelstrom_library 1.2.4-1.18.2 via bosses_of_mass_destruction
- mconfig 1.2.0 via extended_drawers
- mcwlights 1.0.4
- midnightlib 0.2.9 via cullleaves
- milk 0.3.2 via create
- minecraft 1.18.2
- mining_helmet 1.0.1
- mm 2.3 via illagerexp
- modmenu 3.2.4
- mostructures 1.4.2+1.18.2
- multipart_entities 1.1.5-1.18.2 via bosses_of_mass_destruction
- net_kyori_adventure-api 4.10.1 via adventure-platform-fabric
- net_kyori_adventure-key 4.10.1 via adventure-platform-fabric
- net_kyori_adventure-platform-api 4.1.0 via adventure-platform-fabric
- net_kyori_adventure-serializer-configurate4 4.10.1 via tabtps-fabric
- net_kyori_adventure-text-feature-pagination 4.0.0-SNAPSHOT via tabtps-fabric
- net_kyori_adventure-text-minimessage 4.10.1 via adventure-platform-fabric
- net_kyori_adventure-text-serializer-gson 4.10.1 via adventure-platform-fabric
- net_kyori_adventure-text-serializer-legacy 4.10.1 via tabtps-fabric
- net_kyori_adventure-text-serializer-plain 4.10.1 via adventure-platform-fabric
- net_kyori_examination-api 1.3.0 via adventure-platform-fabric
- net_kyori_examination-string 1.3.0 via adventure-platform-fabric
- noindium 1.0.1+1.18
.2 via create
- omega-config 1.2.3-1.18.1 via mostructures
- opaccreatesupport 1.1.0
- openpartiesandclaims 0.15.0
- org_anarres_jcpp 1.4.14 via iris
- org_antlr_antlr4-runtime 4.10.1 via iris
- org_aperlambda_lambdajcommon 1.8.1 via spruceui
- org_jetbrains_kotlin_kotlin-reflect 1.7.21 via fabric-language-kotlin
- org_jetbrains_kotlin_kotlin-stdlib 1.7.21 via fabric-language-kotlin
- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.7.21 via fabric-language-kotlin
- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.7.21 via fabric-language-kotlin
- org_jetbrains_kotlinx_atomicfu-jvm 0.18.5 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.6.4 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.6.4 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.4.1 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.4.1 via fabric-language-kotlin
- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.4.1 via fabric-language-kotlin
- org_joml_joml 1.10.2 via sodium
- org_spongepowered_configurate-core 4.1.2 via tabtps-fabric
- org_spongepowered_configurate-hocon 4.1.2 via tabtps-fabric
- org_threadly_threadly 6.6 via c2me
- porting_lib 1.2.460-beta+1.18.2-dev.cca931b via create
- pride 1.1.0+1.17 via lambdynlights
- reach-entity-attributes 2.1.1 via create
- recipecache 0.2.1-1.17.1
- reeses-sodium-options 1.4.7+mc1.18.2-build.58
- registrate-fabric MC1.18.2-1.1.4 via create
- rhino 1802.2.1-build.255
- seedfix 1.0.1
- serialization_hooks 0.3.23 via porting_lib
- smoothboot 1.18.2-1.7.0
- sodium 0.4.1+build.15
- sodium-extra 0.4.13+mc1.18.2-build.75
- spark 1.9.11
- spruceui 3.3.0+1.17 via lambdynlights
- starlight 1.0.2+fabric.89b8d9f
- tabtps-fabric 1.3.13
- terrablender 1.2.0.126
- vmp 0.2.0+beta.3.110
- voicechat 1.18.2-2.3.15
- waystones 2.5.5+mc1.18.2
- wild_backport_additions 1.0.2
- wildbackport 1.2.3
- worldedit 7.2.10+1742f98
- xaerominimap 22.16.2
- xaeroworldmap 1.28.3

Server

Happens

Client

Happens

Logs

no any log

Extra Context

No response

commented

There's a config option for it for a reason. Older versions of the mod didn't store networks and instead calculated them on each interaction, which caused lag. To make updating smooth I added a feature that looks for network components without a network and fixes them. You can safely disable it if you don't have really old networks that haven't been loaded.

commented

okay, why this option is not disable by deffaut ?

commented

Because people with old worlds wouldn't have it then. I'll probably remove it with the 1.19.3 update