Immersive Engineering

Immersive Engineering

134M Downloads

[1.16.1] Immersive Portals cause frequent visual glitches in wires, conveyors, etc.

Protected opened this issue ยท 16 comments

commented

Description of the issue:

I hope this hasn't already been reported (I couldn't find it).

I've been experiencing a lot of visual glitches with things disappearing and not reappearing after I hang out near them for a short while (usually when I turn around, I think?) They reappear after I leave the server/world and reconnect. This seems to include, fairly reliably:

  • Textures disappear from conveyor belts.
  • Wires disappear entirely.
  • Wrong models, especially on conveyor belts (for example, dropper belts turn into extractor belts).
  • Molds in metal presses wink in and out of existence.

All of these are visual; functionality is not affected.

Before disconnect:
image

After reconnect:
image

Conveyor belts:
image

The glitch isn't distance-based from the camera, but it happens in regions delimited by chunk boundaries (usually multiple consecutive chunks):
image

If a block is affected by the glitch, it's always affected in the manual as well:
image

Probably? relevant: stencilBufferEnabled is set to false on the client. I have done this to mitigate log spam and issues that I was experiencing, following malte's advice on #4102 and associated pull request. However, toggling whether the graphics are set to Fabulous or not doesn't seem to prevent the issue I'm reporting here from happening.

Issue doesn't cause any crashes or appear to log anything.

Versions & Modlist

This is a dedicated server + client setup (online multiplayer).

Tested on both of these versions:
ImmersiveEngineering-1.16.1-3.1.1-pre.53
ImmersiveEngineering-1.16.1-4.0.0-pre.27

Forge: 32.0.108

All client-side mods: https://gist.github.com/Protected/c558a84c055d98383ddf25f9cf0e5bd1

OS: Windows 10
Client-side Java: 1.8.0_251 64bit w/ 4GB maximum heap size

commented

Can you please created a debug crash by holding F3+C and provide us with the crashlog?

commented

Got it.
crash-2020-08-27_11.48.02-client.txt

Nearby state at the moment of crash: Invisible wires; conveyors all look like extracting conveyors.
image

commented

What graphics settings are you on? Fancy or Fabulous? Can you see if either makes a difference?

commented

This crash log is from Fabulous mode. As written in the original post (after the screenshots), I'd previously tried Fancy and still experienced this issue, however I just tried again.

image

crash-2020-08-27_16.47.08-client.txt

Same result. In fact, oddly, this time the situation in the latest screenshot still persisted after reconnecting. Going out of range and back in range did not change anything. I wonder if there's a server-side component to it after all? (server mods are the same as client mods, plus discord integration "dcintegration").

Possibly relevant: Adding a new wire to a relay makes the wires previously connected to that relay visible again.

commented

I tried to enable the stencil buffer on the IE config and it did not solve the problem either. Screenshot for laughs :) (This was taken with the stencil buffer enabled).

image

Interestingly, even though updating a connector reveals the wire (tested that again), updating a conveyor using the hammer does not "fix" its visual aspect. But if I shift+right click a conveyor to make it a sloped conveyor I can see the black outline of the hitbox changing (to the correct one each time).

commented

Minor update:

  • I have confirmed with other server users that they also experience this issue randomly (it's not specific to my device).
  • Based on my experience so far, I think visuals will return to normal when chunks unload and reload on the server side (which is supremely weird to me, but maybe it makes sense to you guys). That's why reconnecting sometimes fixed it; moving well away from any affected chunks such that no user is in range and then coming back can also fix it (at least until I hang out in the area and turn my back for a second).

I'll try to make some time to set up a test instance and disable some of the other mods in a bit, see if that does something.

commented

I think I got it, after much test servering. Looks like an incompatibility with the mod Immersive Portals.

Relevant string of tests:

During these tests the stencil buffer was, once again, disabled in the IE config on the client. Graphics were set to Fancy.
The server and client were launched anew for each numbered item.

  1. Control run (no changes from real server): Issue observed as normal
    Note: The usual server-side view-distance for this server is 14 chunks; client-side default is 12

  2. Normal settings, removed Immersive Portals mod: Issue not observed.

  3. View distance increased to 20 chunks on the server and client, still no Immersive Portals: Issue not observed.
    (Relevant because this can send a player an amount of chunks in excess of the amount I imagine is received while using Immersive Portals with one loaded portal.)

  4. Restored 14 chunks view distance on the server side, restored Immersive Portals mod: Issue not observed.
    Lowered client-side view-distance to 12 chunks: Issue not observed.
    Created nether portal in the vicinity, but did not go through: Issue observed--Lost wires and conveyors in two chunks (the portal was in neither of those).
    Lowered client-side view-distance to 2 chunks, went out of range, then approached the glitched chunks without letting the nether portal's chunk get within client-side range: They're still glitched.

    Disconnected for one minute, then reconnected (portal still out of range): Issue not observed anymore.
    Flew backwards into portal chunk range, wiggled a bit: Conveyors and wires glitched (while I was watching).

    Broke the nether portal: They're still glitched.
    Reconnected (no wait): Issue no longer observed.

Additional test: Immersive Portals allows users to turn glass surfaces into mirrors.
I created a mirror on a chunk that glitches frequently, turned around, moved in and out of range, etc. at both 2 and 12 client-side view-distance. No glitches ever manifested on IE blocks.
In addition, all IE visuals render correctly in the mirror.

I'll report this on their side in a minute. At this point they seem to be on 1.16.2 already, so you might want to set this aside until IE is also on 1.16.2 (so Immersive Portals can be tested with latest versions/fixes applied).

commented

I'm seeing some improvements after enabling model_data_fix in immersive_portals-client.toml . Here's what changes (not as thoroughly tested yet, but seems consistent):

  • Wires no longer seem to disappear (yay!)
  • Proximity to portals is no longer a cause for IE model glitching.
  • Going through a portal departing from the dimension in which IE blocks are into another dimension doesn't break anything.
  • Going through a portal from another dimension to the dimension in which the IE blocks are (overworld in this case) will still break conveyors in one or more chunks, turning them into untextured base conveyors or whatever.
  • A reconnection without delay or breaking a portal nearby will fix nearby glitched conveyors (up until the next return from another dimension).

Note: Metal press molds still flicker in and out of existence regardless of the presence of portals. I think that may be a distinct bug.

commented

Damn, if I play long enough the problem happens again. Chunk with weird conveyors, missing wires. I don't know what to try anymore :( (reconnect still fixing it as per the previous comment)

Edit: Placing fluid pipes or scaffolding on fluid pipes fixes the visuals of immediately adjacent conveyors.

commented

I haven't played much with the IE conveyors in 1.16, but a very similar issue is present with Mekanism + Immersive Portals. For reference, see these: Mekanism Issue, Immersive Portals Issue. The Immersive Portals dev tried a workaround, but it didn't seem to take.

However, I've had luck fixing the Mekanism issue by following these instructions from the Immersive portals Curseforge page (as Protected mentioned above!):

After installing this mod, other mod's block model may render abnormally. To fix that, goto .minecraft/config/immersive_portals-client.toml and set model_data_fix to true. But your game may be laggier after enabling it.

I haven't seen a recurrence of the Mekanism pipes issues since enabling that. No idea why that's not also permanently fixing the IE issues as well. EDIT: I was wrong, did some testing, and the problem has recurred, see below :/.

commented

Well, I've gone and messed around with both the conveyors and the Mekanism pipes, and the issue has returned (it was definitely fixed for a while!), both for IE and Mekanism. With the "Model Data Fix" set to true in the immersive portals config, you can see the models being "reset" (they flicker sometimes, fixed->broken->fixed), but they sometimes stay broken.

Before you've created an IP portal, everything works as normal. When you first place and light the portal, everything looks normal. As soon as you add a new conveyor/wire/tube from either IE or Mekanism, many or all of the already-placed ones visually glitch, but only /in that chunk/. Place one down in a new chunk, and the old chunk will stay normal, but any in the new chunk will glitch.

As Protected discovered, you can eliminate the problem by closing the portal (flood it, break a block, etc.), then save and exit and reopen the save. That resets everything back to normal until you reopen the portal again.

commented

Are these issues still prevalent in 4.0.0 releases of IE?

commented

I'm on 4.0.0. Any specific release?

commented

The issue is still present using the latest (1.16.1) versions of both Immersive Portals and Immersive Engineering. For example:

Forge: forge-1.16.1-32.0.108
Immersive Engineering: ImmersiveEngineering-1.16.1-4.0.0-118
Immersive Portals: immersive-portals-0.2-mc1.16.1-forge

Keep in mind that this issue isn't a new issue between IP and IE -- I've experienced it with Mekanism for quite a while (see these posted issues on the Mekanism Github and the Immersive Portals Github.

commented

I guess we can close this then, since it seems to be an incompatability with Immersive Portals and various other mods, putting this issue on their end?

commented

The Mekanism devs seem to think it is firmly on the side of Immersive Portals. Check out the discussion here. It was suggested that IP is overriding forge's IModelData system. Whether anything can be done to counter the problem from the other side (i.e. from your or Mekanism's side), I have no idea.