超频

概述

超频(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 是唯一可以从完美超频 + 热折扣中受益的机器:

  1. 使用高级线圈:提高机器可达到的最高温度
  2. 保持高温:温度越高,热折扣越多
  3. 匹配电压:如果可能,使用刚好匹配的电压避免额外能耗

示例:使用 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 是否利用电流进行额外超频

相关条目