diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java index d53fa888c..4e06560a1 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java @@ -34,6 +34,8 @@ import org.hildan.fxgson.creators.ObservableSetCreator; import org.hildan.fxgson.factories.JavaFxPropertyTypeAdapterFactory; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; +import org.jackhuang.hmcl.java.JavaRuntime; +import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.util.gson.*; import org.jackhuang.hmcl.util.i18n.Locales; import org.jackhuang.hmcl.util.i18n.Locales.SupportedLocale; @@ -364,7 +366,11 @@ public final class Config implements Observable { } @SerializedName("animationDisabled") - private final BooleanProperty animationDisabled = new SimpleBooleanProperty(); + private final BooleanProperty animationDisabled = new SimpleBooleanProperty( + FXUtils.REDUCED_MOTION == Boolean.TRUE + || !JavaRuntime.CURRENT_JIT_ENABLED + || !FXUtils.GPU_ACCELERATION_ENABLED + ); public BooleanProperty animationDisabledProperty() { return animationDisabled; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationUtils.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationUtils.java index da4b44f07..7dca68b04 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationUtils.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationUtils.java @@ -18,7 +18,6 @@ package org.jackhuang.hmcl.ui.animation; import org.jackhuang.hmcl.setting.ConfigHolder; -import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.util.platform.OperatingSystem; /** @@ -37,7 +36,7 @@ public final class AnimationUtils { public static void init() { } - private static final boolean ENABLED = !ConfigHolder.config().isAnimationDisabled() && FXUtils.REDUCED_MOTION != Boolean.TRUE; + private static final boolean ENABLED = !ConfigHolder.config().isAnimationDisabled(); private static final boolean PLAY_WINDOW_ANIMATION = ENABLED && !OperatingSystem.CURRENT_OS.isLinuxOrBSD(); public static boolean isAnimationEnabled() {