我正在使用MCP和eclipse来反编译Minecraft。我想增加分配给游戏的ram数量,但我不确定如何。
我注意到MCP中有一个名为Minecraft.java
的文件(net.minecraft.client.Minecraft
),我相信我可以编辑该文件以增加分配的ram数量。我确定我需要改变一些明显的变量,但我想确定我不会破坏我的客户。
在Minecraft.java
中,声明了以下数组:
/** A 10MiB preallocation to ensure the heap is reasonably sized. */
public static byte[] memoryReserve = new byte[10485760];
编辑该阵列是否允许我为游戏中的一般用途分配更多内存?如果没有,我应该编辑什么来增加ram的数量(以及该数组的目的是什么)?
我无法使用启动器编辑ram的数量,因为我正在直接从MCP运行游戏 - 此时没有启动器。我想在我的开发环境中增加ram的数量;虽然发射器可以用来增加ram的数量,但是在日食中没有帮助,因为发射器被跳过了。
答案 0 :(得分:2)
不,memoryReserve
缓冲区用于其他内容。更改它将不允许您分配更多内存。当游戏内存不足以确保 当游戏内存不足时可以释放的内容时,该缓冲区似乎是免费的(IE,它保留了一点紧急情况的记忆)。如果你想把RAM的数量增加一倍,编辑它就不会有什么不同。
增加内存量的最简单方法是使用普通启动器来更改内存量。当然,如果您从eclipse运行游戏,则无法访问普通启动程序。如果您使用纯MCP和startclient.bat
,则可以修改conf/mcp.cfg
并增加CmdStartClt
行中的Xmx值。
但是,你已经提到过你正在使用eclipse,所以你需要eclipse指南。过程是一样的 - 您想要添加更大的Xmx
值;你只需要在不同的地方改变它。
答案 1 :(得分:0)
不,您无法更改代码内部使用的ram数量。使用Minecraft启动器来改变它。