超频
概述
超频(Overclocking) 是指当机器可用的电压高于配方所需的电压时,机器以更快的速度完成配方,同时消耗更多能量。GT5-Unofficial 的超频机制是电力系统中最核心的机制之一,它使得玩家可以通过提供更高电压来加速生产,但也需要为速度付出更高的能量成本。
重要:GT5-U 的超频没有效率惩罚——相比 GT5 经典版(超频会损失效率),GT5-U 中超频后的总能量消耗与速度提升成正比,是真正的"等价交换"。
超频触发条件
基本条件
机器可用电压 > 配方所需 EU/t
机器会计算它能比配方电压高出多少个电压等级:
int tiersAbove = (int) GTUtility.log4((long) machinePower / Math.max((long) Math.ceil(recipePower), 32));
其中:
machinePower = 机器电压 × 机器电流(当amperageOC = true时)recipePower = 配方 EU/t × 并行数 × EU 修正 × 热折扣GTUtility.log4(n)= floor(log₄(n)) = 能被 4 整除多少次
电压等级差距与超频次数
| 机器电压 | 配方 EU/t | 电压倍数 | 可超频次数 |
|---|---|---|---|
| LV (32V) | 32 EU/t | 1× | 0(刚好匹配) |
| LV (32V) | 8 EU/t | 4× | 1 |
| MV (128V) | 8 EU/t | 16× | 2 |
| HV (512V) | 8 EU/t | 64× | 3 |
| HV (512V) | 32 EU/t | 16× | 2 |
最大允许配方等级
默认情况下,机器允许运行比自身电压等级高 1 级的配方:
maxTierSkips = 1 // 允许 recipe ≤ machineVoltage × 4
这意味着:
- LV 机器(32V)可以运行最高 128 EU/t 的配方(MV)
- HV 机器(512V)可以运行最高 2048 EU/t 的配方(EV)
超过此限制的配方无法运行,机器不会启动。
超频公式
标准超频(4× 功率 / 2× 速度)
每次超频的效果:
| 参数 | 变化 | 公式 |
|---|---|---|
| EU/t(功耗) | ×4 | recipeEUt × 4^overclocks |
| 持续时间 | ÷2 | recipeDuration ÷ 2^overclocks |
| 总能量消耗 | ×2 | EU/t × 持续时间 |
示例(无超频 → 1 次超频):
配方原始参数:
- EU/t: 32
- 持续时间: 100 tick
- 总能量: 32 × 100 = 3200 EU
1 次超频后:
- EU/t: 32 × 4 = 128
- 持续时间: 100 ÷ 2 = 50 tick
- 总能量: 128 × 50 = 6400 EU
| 超频次数 | EU/t | 持续时间 | 总能量 | 相对速度 |
|---|---|---|---|---|
| 0 | 32 | 100 | 3,200 | 1× |
| 1 | 128 | 50 | 6,400 | 2× |
| 2 | 512 | 25 | 12,800 | 4× |
| 3 | 2,048 | 13 | 25,600 | 8× |
关键洞察:速度提升 2 倍,总能量消耗也增加 2 倍——这是等价交换,没有效率损失。
完美超频(4× 功率 / 4× 速度)
部分机器(主要是 EBF 等高热机器)支持完美超频:
.enablePerfectOverclock() // 设置为 4×/4×
| 超频次数 | EU/t | 持续时间 | 总能量 | 相对速度 |
|---|---|---|---|---|
| 0 | 32 | 100 | 3,200 | 1× |
| 1 | 128 | 25 | 3,200 | 4× |
| 2 | 512 | 7 | 3,200 | 16× |
完美超频的优势:速度提升 4 倍,但总能量消耗保持不变!这是 GT5-U 中最节能的高速生产方式。
热能超频(Heat Overclock)
EBF(电力高炉)、Endothermic Fridge(吸热冰箱)、Exothermic Hearth(放热熔炉)等热能机器支持基于温度的超频,可以获得效率增益:
热折扣(Heat Discount):
HEAT_DISCOUNT_THRESHOLD = 900K
热折扣指数 = 0.95(每次超出获得 5% EU/t 折扣)
当机器温度比配方所需温度高时:
| 超出温度 | 热折扣次数 | EU/t 折扣 |
|---|---|---|
| 0K | 0 | 0% |
| 900K | 1 | 5% |
| 1,800K | 2 | 10% |
| 2,700K | 3 | 14% |
| 3,600K | 4 | 18% |
热能超频(Heat OC):
HEAT_OVERCLOCK_THRESHOLD = 1800K
每次热能超频:持续时间 ÷4
| 超出温度 | 热能超频次数 | 额外持续时间缩短 |
|---|---|---|
| 0K | 0 | 无 |
| 1,800K | 1 | ÷4 |
| 3,600K | 2 | ÷16 |
| 5,400K | 3 | ÷64 |
EBF 热能配置(来自 MTEElectricBlastFurnace):
.setMachineHeat(mHeatingCapacity)
.setHeatOC(true) // 启用热能超频
.setHeatDiscount(true); // 启用热折扣
激光超频(Laser Overclock)
激光相关机器使用不同的超频公式:
eutOverclock *= (4.0 + 0.3 * (laserOCs + 1));
// 即: 第 1 次激光超频 EU/t ×4.3, 第 2 次 ×4.6, 以此类推
电流超频(Amperage Overclock)
默认情况下,机器会利用电流(Amperage)来获得额外的超频次数:
amperageOC = true // 默认启用
machinePower = machineVoltage × machineAmperage
示例(有 vs 无电流超频):
机器: HV (512V) × 2A = 1024W 机器功率
配方: 32 EU/t
无电流超频: 1024 / 32 = 32 倍 → log₄(32) = 2.5 → 2 次超频
有电流超频: 机器功率本身就是 1024W → 同样的结果
但如果机器是 HV (512V) × 4A:
有电流超频: 2048 / 32 = 64 倍 → log₄(64) = 3 → 3 次超频
高电流机器(如变压器、多通道输入)可以显著增加超频次数。
并行与超频的交互
当机器支持**并行处理(Parallel)**时,超频计算会先确定超频次数,然后根据超频后的持续时间调整并行数:
// 如果超频后持续时间 < 1 tick,并行数会减少以保持 tick 级别的整数倍
maxParallel = GTUtility.safeInt((long) (maxParallel * calculator.calculateMultiplierUnderOneTick()), 0);
这确保了在极高速度下,每个 tick 仍然可以完成整数个配方。
超频的实用策略
速度 vs 能耗
| 目标 | 推荐配置 | 说明 |
|---|---|---|
| 最低能耗 | 不超频,使用匹配电压 | 总能量消耗最小 |
| 平衡速度与能耗 | 1-2 次超频 | 2-4× 速度,2-4× 能耗 |
| 最高速度 | 尽可能多超频 | 最高速度,但能耗也最高 |
| 最高效率 | 完美超频 + 高温 EBF | 4× 速度,0% 能耗增加 |
EBF 超频优化
EBF 是唯一可以从完美超频 + 热折扣中受益的机器:
- 使用高级线圈:提高机器可达到的最高温度
- 保持高温:温度越高,热折扣越多
- 匹配电压:如果可能,使用刚好匹配的电压避免额外能耗
示例:使用 HV 电压(512V)运行 32 EU/t 配方 vs 使用 EV 电压(2048V)运行同一配方:
HV 配置: 2 次标准超频 → 速度 4×, 总能耗 4×
EV + 完美超频配置: 3 次完美超频 → 速度 64×, 总能耗不变!
避免过度超频
超频虽然加速生产,但也会增加总能量消耗:
- 如果能源充足且需要高速生产:超频
- 如果能源有限且只需要稳定产量:匹配电压或少量超频
- 如果需要最高效率:使用 EBF 的完美超频机制
超频相关设置
| 设置项 | 默认值 | 说明 |
|---|---|---|
overClockTimeReduction |
2.0 | 标准超频每次时间缩短比例 |
overClockPowerIncrease |
4.0 | 标准超频每次功耗增加比例 |
maxTierSkips |
1 | 最大允许超过机器等级的配方等级 |
heatDiscountExponent |
0.95 | 热折扣指数(每 900K 降低 5% 功耗) |
durationDecreasePerHeatOC |
4 | 热能超频时间缩短比例 |
HEAT_OVERCLOCK_THRESHOLD |
1800K | 每次热能超频需要的温度差 |
HEAT_DISCOUNT_THRESHOLD |
900K | 每次热折扣需要的温度差 |
amperageOC |
true | 是否利用电流进行额外超频 |