[0.17.13.0] - [0.18.0.0] IO connections with "NO ITEM" causes large amounts of lag

(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

4 Likes

[0.18.0.0] Update: ALL No Item connections contribute a significant amount of lag.

I have been struggling with lag issues since the minigolf update dropped on my resort. While the resort has a very large IO and item count, (around 6.5k+ connections, 13.5k items), it suddenly dropped in performance after the update. I would only get 30fps in single player, and a max of 12fps when more than 4 players were connected. It would also take over a minute for people to load in after being able to already walk around. During this time, visitors would experience like 10fps, and I would lose around 20 fps while they loaded in. I decided that enough was enough today and searched around for the rest of the No Item connections as a last-ditch effort.

Something i noticed while testing was that, the No Item connections didn’t contribute to lag until I relogged. During one phase I decided to try to delete a ton of IO projects to see if any single one was causing a problem, and there was zero difference after removing 4 or 5 large projects. However, upon reload, I was met with 4 fps maximum in singleplayer. Now what could have caused this? If anything, the item count AND IO count was a LOT smaller at this point. But wait… I randomly deleted modules, creating a TON more missing connections.

I went through today and checked LITERALLY every single module on the map (took 3 hours), and deleted the remaining NO ITEM connections. I reload, and now im getting 45-50fps in singleplayer, 36-45 in multi. These NO ITEM connections have GOT to be contributing somehow still…

2 Likes

A couple solutions can be either to remove these connections automatically or add a button to clean them up. Internally I’ll look over the IO logic. It could be doing something by trying to find a connection still. I know we are planning on an IO tick cleanup soon.

2 Likes