feat: 添加配置AE合成暂停检查阈值以降低上下文切换频率,默认值 100000
This commit is contained in:
parent
93d0081132
commit
857fadc7ad
|
|
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -81,5 +81,6 @@
|
||||||
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "Smart Scaling Min Benefit Factor",
|
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "Smart Scaling Min Benefit Factor",
|
||||||
"config.extendedae_plus.option.entityTickerCost": "Entity Ticker Base Energy Cost",
|
"config.extendedae_plus.option.entityTickerCost": "Entity Ticker Base Energy Cost",
|
||||||
"config.extendedae_plus.option.entityTickerBlackList": "Entity Ticker Blacklist",
|
"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"
|
||||||
}
|
}
|
||||||
|
|
@ -81,5 +81,6 @@
|
||||||
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "智能倍增最小收益因子",
|
"config.extendedae_plus.option.smartScalingMinBenefitFactor": "智能倍增最小收益因子",
|
||||||
"config.extendedae_plus.option.entityTickerCost": "实体加速器能量消耗基础值",
|
"config.extendedae_plus.option.entityTickerCost": "实体加速器能量消耗基础值",
|
||||||
"config.extendedae_plus.option.entityTickerBlackList": "实体加速器黑名单",
|
"config.extendedae_plus.option.entityTickerBlackList": "实体加速器黑名单",
|
||||||
"config.extendedae_plus.option.entityTickerMultipliers": "实体加速器额外消耗倍率"
|
"config.extendedae_plus.option.entityTickerMultipliers": "实体加速器额外消耗倍率",
|
||||||
|
"config.extendedae_plus.option.craftingPauseThreshold": "AE合成计算暂停检查阈值"
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user