我正在使用MCP用eclipse反编译Minecraft。我想增加分配给游戏的内存量,但我不知道如何做。
我注意到有一个名为 Minecraft.java
的文件在 MCP ( net.minecraft.client.Minecraft
) 中,我相信我可以编辑该文件以增加分配的内存量。我确信我需要更改一些明显的变量,但我想确定一下,这样我就不会破坏我的客户。
在 Minecraft.java
,声明以下数组:
/** A 10MiB preallocation to ensure the heap is reasonably sized. */
public static byte[] memoryReserve = new byte[10485760];
编辑该数组是否可以让我分配更多内存供游戏中一般使用?如果不是,我应该编辑什么来增加内存数量(以及该阵列的用途是什么)?
我无法使用启动器编辑内存量,因为我直接从 MCP 运行游戏 - 此时没有启动器。我想增加我的开发环境中的内存数量;虽然启动器可用于增加 RAM 量,但通常它在 Eclipse 中没有帮助,因为启动器会被跳过。
最佳答案
不,memoryReserve
缓冲区用于其他用途。更改它不会让您分配更多内存。该缓冲区的目的似乎是在游戏内存不足时释放一些东西,以确保当游戏内存不足时可以释放一些东西(即,它保留了一些紧急情况内存)。如果您想将 RAM 量加倍,编辑它并不会产生真正的影响。
增加内存量的最简单方法是使用普通启动器更改内存量。当然,如果您从 Eclipse 运行游戏,则无法访问正常的启动器。如果您使用纯 MCP 和 startclient.bat
,您可以编辑 conf/mcp.cfg
并增加 CmdStartClt
行中的 Xmx 值。
但是,您已经提到您正在使用 Eclipse,因此您需要 Eclipse 指南。过程是相同的 - 您想要添加更大的 Xmx
值;您只需在不同的地方更改它即可。
关于java - 如何在 Minecraft 源代码中分配更多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149333/