Immersive Engineering

Immersive Engineering

134M Downloads

[1.12.2] Rendering 3D tools is too expensive

EnergyNick opened this issue ยท 7 comments

commented

Description of the issue:

Hi BluSunrize)
I would like to inform you that 3D tools from your mod unfortunately cause a high load on the client, which significantly reduces the FPS.

In this example, I demonstrated drawdowns using a railgun.
(for me, it causes the largest lags, just like a drill)

Clear minecraft version (only with IE, Optifine, Forge, Jei):

  • Without Railgun in inventory
    Without Railgun in inventory

  • With Railgun in inventory
    With Railgun in inventory

  • With Railgun in hands
    With Railgun in hands

  • Debug crash - crash report url

My own modpack (example of fps in the modpack):

  • Without Railgun in inventory
    Without Railgun in inventory

  • With Railgun in inventory
    With Railgun in inventory

  • With Railgun in hands
    With Railgun in hands

If you need more detail about modpack, logs or ect i can give it to you

I've tried recombining mods a lot with removing some mods one at a time
Also tried only with IE and optimization mods (like foamfix, VanilaFix, etc.), without them and some other combinations

Versions & Modlist

Java 1.8.0_251-b08 (and previous version)
Minecraft 1.12.2
Forge 14.23.5.2847
IE 0.12-92
No Resourcepack active

Other test mods (also tried without them)

OptiFine_1.12.2_HD_U_F5
jei_1.12.2-4.15.0.293
(And test with OptiFine_1.12.2_HD_U_F4)

commented

Please provide your examples in an instance without optifine, as that mod is not supported.

Also, provide a debug crash, like the contribution guidelines require you to.

commented

I also forgot to add the fact that I tried to capture approximately average fps in the screenshots

Clear minecraft without Optifine:

  • Without Railgun in inventory
    Without Railgun in inventory

  • With Railgun in inventory
    With Railgun in inventory

  • With Railgun in hands
    With Railgun in hands

Debug crash - https://pastebin.com/ERf6vFJ1

commented

I'd strongly suggest trying this again without anything closely related to tlauncher installed

commented

I'd strongly suggest trying this again without anything closely related to tlauncher installed

Same result.

Debug crash - https://pastebin.com/LJnjJS58

  • Without Railgun in inventory
    Without Railgun in inventory

  • With Railgun in inventory
    With Railgun in inventory

  • With Railgun in hands
    With Railgun in hands

commented

That last screenshot shows you at 80FPS. I don't think there is any issue with that number.

commented

I think the problem may be in the increased tickrate, complex actions during the tick, difficulty in rendering the model, or something else

So really, you have no idea what causes it, given that you listed just about every option =P

Given that 1.12 has been out for a few years now, and people have not been complaining about this much, I'm going to file this under "yeah, it costs resources, but it also looks nice".
We're already optimizing where possible, caching models to avoid frequent rebuilds and keeping render passes to a minimum.
I also went over basically every model in IE twice by now, optimizing its face count and UV mapping. To my knowledge, there is nothing we can do to optimize it further.

I can happily recommend you to move to Minecraft 1.14 however, where holding a railgun keeps me at a nice 60 fps:
image

commented

Yes, on a clean client with 1 mod 80 fps is normal.
The problem in my opinion is how much the tools affect performance, because fps drops both on a clean build and with mods.

And it seems to me that the drop by 50-80 fps is serious enough to check the optimality of the resources spent on this element.
I think the problem may be in the increased tickrate, complex actions during the tick, difficulty in rendering the model, or something else

Well, again, it's on my "weak" computer these numbers. But for example, my friends have a worse situation.
If necessary, I can also ask them to collect information to help debug the problem