FTBTeam / FTB-Modpack-Issues

Any and all FTB Modpack issues are here! Please create a new issue, add to an existing one or maybe even suggest a feature in the discussions
https://feed-the-beast.com/modpack
41 stars 12 forks source link

Add VanillaFix to fix texture animation performance #5550

Open BBaoVanC opened 2 months ago

BBaoVanC commented 2 months ago

Modpack

FTB Revelation

Is your suggestion related to a problem? Please describe.

This doesn't happen on all systems, but on one of my computers I get about 1 fps in a fresh singleplayer world. However, if I go to FoamFix and disable texture animations, then I get over 200. This seems like a band-aid; VanillaFix also fixes this issue while still preserving animations.

From an article about FoamFix which seems to explain the issue:

So here's the problem. Rather than send animated textures to the GPU, Minecraft keeps them in CPU memory, and modifies the GPU texture atlas every tick, which is to say, 20 times a second. This works great in vanilla, which has around 21 animated textures, but modpacks may have hundreds of these. Uploading all the animated textures every tick in this case is really, really expensive.

A lot of computers handle this fine, but some (like mine) really don't. I get 6 FPS with this option off, and a locked 60 with it on.

Go to the "disableTextureAnimations" heading: https://unascribed.com/b/2017-10-17-so-heres-how-foamfix-works.html

Mod suggestion

VanillaFix: https://www.curseforge.com/minecraft/mc-mods/vanillafix

It has several fixes, but this is the one I am focusing on here:

Tick only visible animated textures (huge FPS increase, up to 3x on very large modpacks)

Also, it says that it obsoletes the various bed-patching mods, so presumably we could remove Bed Patch. I haven't ever had the bed issue before though, so I can't test whether VanillaFix still patches it.

This same computer gets over 200 fps once VanillaFix is added ![image](https://github.com/user-attachments/assets/9dc13e44-1d2e-4e70-ba5c-f3f7c56377ab)
Margatroidu commented 2 months ago

VintageFix is better

BBaoVanC commented 2 months ago

VintageFix is better

Does it have the animation fix I was talking about? That's my main motivation for adding anything at all. VintageFix says it replaces FoamFix, but FoamFix doesn't have the animation fix (only an option to disable animations entirely).

I wonder why there isn't just a mod that transmits all the animations to GPU memory once so we don't have to send specifically the ones that are in use every tick.

Margatroidu commented 2 months ago

VintageFix is better

Does it have the animation fix I was talking about? That's my main motivation for adding anything at all. VintageFix says it replaces FoamFix, but FoamFix doesn't have the animation fix (only an option to disable animations entirely).

I wonder why there isn't just a mod that transmits all the animations to GPU memory once so we don't have to send specifically the ones that are in use every tick.

it replaces both foamfix and vanillafix

BBaoVanC commented 2 months ago

I tried adding VintageFix but the game crashes during initialization; I've opened https://github.com/embeddedt/VintageFix/issues/115 to track that.

Margatroidu commented 2 months ago

I tried adding VintageFix but the game crashes during initialization; I've opened embeddedt/VintageFix#115 to track that.

Replace Phosphor with Hesperus

BBaoVanC commented 2 months ago

Alright Hesperus fixes the crash, but VintageFix does not seem to have the animation fix that VanillaFix does. Since VintageFix replaces VanillaFix, it's not a working solution for me and I get 1 fps again.