(Previous Title: [0.17.13.0] Persistent @logic IO connections to logic modules with “NO ITEM” causes large amounts of lag)
I was trying to quickly set up a minigame that needed to use a lot of AND modules. Upon copying and pasting the modules with a few connections on them, I noticed that a lot of the connections showed NO ITEM. I planned on cleaning this up once I had gotten the logic figured out for the game, so I continued to build. After a while, visitors and I started to notice that we were suddenly sitting at 20-30 frames less than normal. (Host: 20fps instead of 50fps, Visitors 10fps instead of 30fps) Upon deleting the persistent connections that had no items associated, everyone in the condo immediately jumped back up to the expected frames.
I had also tried removing just the canvases, just the lights / sounds, just the AND modules, just the furniture, and the lag only improved when I removed the modules with “NO ITEM” @logic persistent connections.
Upon testing, this drop in performance did not occur with “NO ITEM” standard IO connections, like setOn, fire, and toggle.
Project stats:
Map: Resort
Item count: ~12.5k
IO Module count: ~1,700
IO Connection count: ~5k
Minigame in question:
40 AND modules
~35 toggle modules
~20 Relays
about 10-15 toggles had empty “NO ITEM FOUND” persistent connections to missing AND gates, about 2-3 empty connections each.
8 sound emitters
6 buttons
8 lights
some furniture
located under the map, underneath suites in resort
Steps to Reproduce
- Place IO modules and connect them to logic modules with @logic connections.
- Remove the logic modules, resulting in “NO ITEM FOUND” connections
- Repeat (or copy/ paste the connections and modules)
- Observe a steady decline in FPS.
What I expected to happen
Missing item persistent IO connections behave like other missing item connections
What happened
Missing item persistent IO connections cause a lot of lag, despite not having any function
Notes / Media
An example of what I mean by “NO ITEM” persistent @logic IO connections. These connections were an @logic connection to an AND module, which was then deleted.
Amount of IO for the minigame mentioned