{"action":"created","issue":{"url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/501","repository_url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics","labels_url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/501/labels{/name}","comments_url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/501/comments","events_url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/501/events","html_url":"https://github.com/CyclopsMC/IntegratedDynamics/issues/501","id":291771592,"number":501,"title":"ID network keeping chunks loaded?","user":{"login":"tornewuff","id":860222,"avatar_url":"https://avatars3.githubusercontent.com/u/860222?v=4","gravatar_id":"","url":"https://api.github.com/users/tornewuff","html_url":"https://github.com/tornewuff","followers_url":"https://api.github.com/users/tornewuff/followers","following_url":"https://api.github.com/users/tornewuff/following{/other_user}","gists_url":"https://api.github.com/users/tornewuff/gists{/gist_id}","starred_url":"https://api.github.com/users/tornewuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tornewuff/subscriptions","organizations_url":"https://api.github.com/users/tornewuff/orgs","repos_url":"https://api.github.com/users/tornewuff/repos","events_url":"https://api.github.com/users/tornewuff/events{/privacy}","received_events_url":"https://api.github.com/users/tornewuff/received_events","type":"User","site_admin":false},"labels":[{"id":648765835,"url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/labels/mc-1.12","name":"mc-1.12","color":"c5def5","default":false},{"id":521723413,"url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/labels/performance","name":"performance","color":"006b75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-01-26T01:22:16Z","updated_at":"2018-02-06T23:02:59Z","closed_at":null,"author_association":"NONE","body":"#### Issue type:\r\n\r\n- :snail: Performance issue\r\n\r\n____\r\n\r\nI was investigating high CPU usage on my server when no players are connected (and my server doesn't have any chunkloader mods, so everything should be idle when there's nobody around), and from some experimentation it looks like Integrated Dynamics is keeping the chunks where its networks exist loaded all the time. I'm still trying to come up with a definite isolated repro case and will update the bug with more detail if I manage it, but wanted to bring this up in case there's anything you're already aware of.\r\n\r\nThings I've found so far:\r\n1) Removing integrated dynamics from the modpack prevents the excess CPU usage - when nobody's connected, the server CPU usage drops from ~20% to <2%.\r\n2) Destroying all the integrated dynamics objects built in the world while keeping the mod loaded also seems to work.\r\n3) Running the VisualVM sampling profiler against the server VM while nobody is connected shows a lot of integrated dynamics calculation functions being called on an ongoing basis, but also a lot of activity from Thermal Dynamics trying to move things around in ducts. However, without ID being loaded, the duct activity stops, which suggests that the ducts are only consuming CPU when the chunks they are in are loaded by something else.\r\n4) Starting a new world and just building a trivial ID network with a redstone reader connected to a redstone writer set to output a signal whenever the input reads <5 signal looks like it's enough to cause the ongoing activity, though the total CPU load here is much lower since there's nothing else in the chunk in question, and so even if it's keeping it loaded, it doesn't increase tick time anywhere near as much as in my actual save where the ID networks are in the middle of a large automated base.\r\n\r\n#### Versions:\r\n\r\n_Exact versions of the following mods, not just *latest*._\r\n\r\n- This mod: 0.10.1\r\n- CyclopsCore: 0.11.1\r\n- Minecraft: 1.12.2\r\n- Forge: 14.23.1.2587\r\n"},"comment":{"url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/comments/363595503","html_url":"https://github.com/CyclopsMC/IntegratedDynamics/issues/501#issuecomment-363595503","issue_url":"https://api.github.com/repos/CyclopsMC/IntegratedDynamics/issues/501","id":363595503,"user":{"login":"rubensworks","id":440384,"avatar_url":"https://avatars1.githubusercontent.com/u/440384?v=4","gravatar_id":"","url":"https://api.github.com/users/rubensworks","html_url":"https://github.com/rubensworks","followers_url":"https://api.github.com/users/rubensworks/followers","following_url":"https://api.github.com/users/rubensworks/following{/other_user}","gists_url":"https://api.github.com/users/rubensworks/gists{/gist_id}","starred_url":"https://api.github.com/users/rubensworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubensworks/subscriptions","organizations_url":"https://api.github.com/users/rubensworks/orgs","repos_url":"https://api.github.com/users/rubensworks/repos","events_url":"https://api.github.com/users/rubensworks/events{/privacy}","received_events_url":"https://api.github.com/users/rubensworks/received_events","type":"User","site_admin":false},"created_at":"2018-02-06T23:02:59Z","updated_at":"2018-02-06T23:02:59Z","author_association":"OWNER","body":"@josephcsible Theoretically, we could indeed delay this until _one_ of the network cables is loaded. Doing this in an efficient way would however be not so trivial, so I don't see this as as being essential."}}
{"actor":{"display_login":"rubensworks"}}