java - 如何在 Minecraft 源代码中分配更多内存

标签 java eclipse minecraft

我正在使用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 值;您只需在不同的地方更改它即可。

  1. 选择运行按钮旁边的下拉箭头。
    Hovering over dropdown next to the green run button
  2. 选择“运行配置...”
    Run configurations button in the dropdown
  3. 切换到参数选项卡。
    Circled "Arguments" tab in the "Run Configurations" screen
  4. 编辑“VM 参数”部分中的 -Xmx 值。您可能需要使用 -Xmx2G 来表示 2 GB,甚至更大的值。您不需要更改其他两个值。
    VM arguments text box in the "Arguments" tab of the "Run Configurations" screen
  5. 选择“应用”保存更改。然后,您可以选择“运行”来启动客户端,或关闭“运行配置”窗口。 (现在,当您选择正常运行按钮时,将使用自定义配置 - 您无需每次启动客户端时都打开运行配置)。
    Apply and save buttons in the "Run Configurations" screen

关于java - 如何在 Minecraft 源代码中分配更多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149333/

相关文章:

java - 无法将 Spring 应用程序解析为类型

java - 在 Java 中创建 Jackson JSON

java - 将 Eclipse 插件转换为 Intellij

eclipse - Eclipse内容帮助中的所选条目由于颜色而无法读取

java - 将 HikariCP 阴影放入 jar 中将不起作用

java - 大括号前面所有文本的正则表达式模式

java - Java编译器给出 “file not found”错误

java - 如何在调试 View 中过滤动态生成的类?

java - 使用 Pixelmon mod 1.12.2-6.3.1 在 Eclipse 中运行 Minecraft Forge 服务器/客户端

java - 创建 Gui 的实例(使用 ModLoader 进行 Minecraft 模组)