TheWeatherPony / TheSeasonsMod

A repository for tracking issues in The Seasons Mod
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1285986-the-seasons-mod-
7 stars 0 forks source link

Add A Mode/Function To Make More Compatible With Optifine #76

Closed jredfox closed 8 years ago

jredfox commented 8 years ago

Version: beta10

Add A Mode/Function To Make More Compatible With Optifine. This is so it runs smoothly with optifine. optifine is for modpacks without it there would be no modpacks because, most computers can't take the animations all on with mods. I am request that it either detects optifine and goes to that mode/function or has functions where it would be running more smoothly with optifine or both. The current slow refresh function used by seasons slows my fps way down then it does without optifine. Why am I asking you to make compatibility with optifine? Because without it it's impossible to play with modpacks and I thought you might want your mod to be allowed in modpacks. I have tried other fps mods but, you can't disable the animations which means you can't use that as a substitute for optifine. I have seen another one bites the dust using detection methods to determine how the mod will run and thermal foundation/ expansion do the same. I know it would be a bit different but, could you do something like that? I know that optifine is one of the first things I see in the console log besides your mod minecraft and forge. If it remains at the top for modpacks then it shouldn't be too laggy on the process of forge loading mods. Please add more compatibility.

TheWeatherPony commented 8 years ago

@jredfox - which would you prefer:

This is a serious question, as those are the options. The first is what I've gone with, the second is what would happen if I go and add that compatibility you think should be there. To point out again, Optifunny breaks vanilla functionality. Optifine is not a holy grail for performance improvement, because of it! If Optifine managed to clean up the game's performance issues without breaking vanilla compatibility on basic levels, it wouldn't be such a huge joke among modders! Furthermore, Optifine "optimizes" the game by 100% completely removing/bypassing some of the code this mod tries to change - can't modify what doesn't exist!

TheWeatherPony commented 8 years ago

Again - I don't look to see if Optifine is installed... I merely check to see if the code is borked beyond recovery!

TheWeatherPony commented 8 years ago

How about this: if you can get Optifine to clean up its act, this mod won't notice that the game is messed up because of it, so there wouldn't be this kind of problem.

jredfox commented 8 years ago

I will try to contact them to make a special version.

jredfox commented 8 years ago

my guess is optifine edits the render code and it doesn't like the way your mod does stuff. I have contacted him for you and I await a response I have also messaged you on the mc forums.

PitchBright commented 8 years ago

My Season's mod runs smoothly with Optifine. When you say "add more compatibility"… what do you mean? What exactly are you finding is incompatible?

PitchBright commented 8 years ago

"my guess is optifine edits the render code and it doesn't like the way your mod does stuff."

it's not that Optifine doesn't "like" the way TSM does stuff… it's that Optifine completely DISREGARDS what TSM would like to do… and Optifine does whatever it wants to do… with no respect for other mods that also want to handle some of those areas.

Therefore… it's not that TSM needs to be made more compatible, it's that Optifine needs to be made more compatible.

jredfox commented 8 years ago

It reverts to slow method refresh which then my fps and loading new chunks lags more then without optifne. I also think that if it says that message that some things could be done so it would never happen. I have contacted him and asked TheWeatherPony to cooperate and at least try to fix this mess. It also in the past has lead to actual crash reports which should be resolved but, may still be in here.

PitchBright commented 8 years ago

Do you know what the "slow refresh method" is?

jredfox commented 8 years ago

I know it lags the game and I guess it is what it says it is and it only occurs with optifine that's all I need to know to report that it lags when optifine is there in general compared to without it. now if I lower my settings with optifne I get 114fps max without seasons and optifine I get around 200fps.

TheWeatherPony commented 8 years ago

There are two ways for the world to refresh to update with seasonal colors...

There's the "slow" way, which is what happens with Optifine. In this one, the resource pack system is re-initialized, just like when changing resource packs - after all the textures are reloaded, the texture sheets re-stitched, the sound system stopped and re-started, and more, the world gets re-rendered from scratch. Until the resource pack system is finished, users experience no rendering frames and input controls are unresponsive - yet the world continues going all around the player, including any mobs the player is in combat with. Once it's finished resetting the resource packs, it has a slightly diminished fps while the world's rendering is being recomputed.

Then there's the "fast" way, which is what happens without Optifine butting in. In this one, all visible chunks are scheduled for re-rendering, which is then carried out over an extended period of time at vanilla's discretion. With this, the user gets a slightly diminished fps rate until the refresh is finished, but the world doesn't disappear at any point and the game remains responsive the entire time. Plus, this slightly diminished fps rate is the same diminish that happens after the resource pack system is finished restarting in the "slow" way. Optifine butts in by destroying the vanilla code for requesting chunks to be re-rendered. If Optifine's changes were compensated for, then only the nearest handful of chunks to the player would update when the seasons change - the rest would not change on their own, even if the player walks around. This is the great "optimization" that Optifine destroys this part of vanilla compatibility for. It's not an optimization, and it isn't warranted.