Open PitchBright opened 9 years ago
Well seasons code refresh I don't think isn't suppose to technically happen and I think if The_WeatherPony didn't add refresh code it would crash. So I think That something is going on if you get that message. I cannot confirm that. However in recent updates the refresh code happens alot less then it did in beta8b.
This is about the texture refresh that happens when the seasons change. In vanilla, which is generally quite un-optimized (which leads to the popularity of optimization mods), there is a nicely optimized way to refresh the entire world - a couple of chunks at a time until the entire refresh is finished. Again that way is nicely optimized. Some optimization mods, specifically Optifine, stupidly decide that a gradual, non-laggy refresh is a major cause of lag - and so utterly destroy the vanilla way (to replace it with an only slightly different expression of the same code). While my code could be made to interface with the "optimized" way with only a couple of new lines, the resulting refresh would be tragic looking - only the absolute nearest few chunks would be refreshed, and the others would never be, regardless matter how much time passes. To avoid such a graphical tragedy, my code reverts to an older edition of my world refresh code. This older one is much less optimized and can easily take longer than the gradual refresh. To make things worse, the client experiences no render frames at all during my older refresh code, unlike the optimized vanilla way. To help highlight this long-outlived de-optimization in the most popular optimization mod for this game, my code prints a message to explain why there's a huge drop in fps. I can't guarantee that Optifine is installed when it happens, so the message doesn't explicitly mention it.
The message is only displayed once per client game launch, but it could still use a rewording since it can read more like a critical error for those not used to it. Would the message below be a satisfactory replacement to consider this issue resolved?
Proposed message: Warning: The Seasons Mod is reverting to it's slow refresh method for this launch. (This generally happens because of poorly written/designed "optimizations" getting in it's way.) Current message: Something wrong happened with the seasonal refresh code. This and future refreshes will use the slow refresh method rather than cause a crash.
ok cool. I have to use optifine in any modpack because, if I don't I can't do anything with all the animations on I believe it's a glitch in all recent computer processors?
Can this be made to be a Configgable Notification too… as per #50
I feel that it is important for users to know that their experience will be abnormal/subpar because of it.
As a compromise, I have tweaked the declaration for the boolean that keeps track of if the message has already been displayed - it can be set to true before the client joins his first game, via code, to fool my code into thinking it's already displayed the error. This would easiest via Java Reflection. The class is: "weatherpony.seasons.client.ClientProxy" - it is loaded by FML The field is: "erroredAlready" - it is a private static field.
Additionally, I'll add the message to the language files later on.
I've changed the message to be a little classier: "Warning: The Seasons Mod is reverting to it's slow refresh method for this launch. (Is Optifine installed?)"
Makes it sound like OF might be missing, and needs to installed.
How about "Another mod may be controlling (insert technical word here)"
"Warning: The Seasons Mod is reverting to it's slow refresh method for this launch. (Try removing Optifine if it's installed.)" ?
Yep
Its* ... on the first one ;)
I keep making that stupid mistake...
Would it be possible to get an option to enable/disable the message users see, when the refresh method reverts? Some people assume they need to take action, or that something is wrong that they need to fix, and for server admins, it might be better if the user didn't see the message, as it is for notification purposes only.
Low priority.