feat: 添加配置AE合成暂停检查阈值以降低上下文切换频率,默认值 100000

This commit is contained in:
C-H716 2025-09-15 01:20:41 +08:00
parent 93d0081132
commit 857fadc7ad
4 changed files with 33 additions and 2 deletions

View File

@ -117,4 +117,12 @@ public final class ModConfig {
};
@Configurable
@Configurable.Comment(value = {
"值越大将减少AE构建合成计划过程中的 wait/notify 次数,提升吞吐但会降低调度响应性"
})
@Configurable.Synchronized
@Configurable.Range(min = 100, max = Integer.MAX_VALUE)
public int craftingPauseThreshold = 100000;
}

View File

@ -0,0 +1,21 @@
package com.extendedae_plus.mixin.ae2;
import appeng.crafting.CraftingCalculation;
import com.extendedae_plus.config.ModConfig;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.Constant;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
/**
* Mixin 用于增加 CraftingCalculation.handlePausing() incTime 的阈值
* 调整 CRAFTING_PAUSE_THRESHOLD 可以控制计算让出控制权的频率
*/
@Mixin(value = CraftingCalculation.class, remap = false)
public abstract class CraftingCalculationMixin {
// 可调节的阈值在执行 pause 检查前 handlePausing 被调用的次数
// 增大此值可以减少 wait/notify 的频率提升吞吐量但降低响应速度
@ModifyConstant(method = "handlePausing", constant = @Constant(intValue = 100))
private int modifyIncTimeThreshold(int original) {
return ModConfig.INSTANCE.craftingPauseThreshold;
}
}

View File

@ -81,5 +81,6 @@
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "Smart Scaling Min Benefit Factor",
"config.extendedae_plus.option.entityTickerCost": "Entity Ticker Base Energy Cost",
"config.extendedae_plus.option.entityTickerBlackList": "Entity Ticker Blacklist",
"config.extendedae_plus.option.entityTickerMultipliers": "Entity Ticker Extra Consumption Multipliers"
"config.extendedae_plus.option.entityTickerMultipliers": "Entity Ticker Extra Consumption Multipliers",
"config.extendedae_plus.option.craftingPauseThreshold": "AE synthesis calculation pause check threshold"
}

View File

@ -81,5 +81,6 @@
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "智能倍增最小收益因子",
"config.extendedae_plus.option.entityTickerCost": "实体加速器能量消耗基础值",
"config.extendedae_plus.option.entityTickerBlackList": "实体加速器黑名单",
"config.extendedae_plus.option.entityTickerMultipliers": "实体加速器额外消耗倍率"
"config.extendedae_plus.option.entityTickerMultipliers": "实体加速器额外消耗倍率",
"config.extendedae_plus.option.craftingPauseThreshold": "AE合成计算暂停检查阈值"
}