有没有办法在 VB.NET 中分配更多的 RAM?

Posted

技术标签:

【中文标题】有没有办法在 VB.NET 中分配更多的 RAM?【英文标题】:Is there any way to allocate more RAM in VB.NET? 【发布时间】:2016-06-28 14:34:14 【问题描述】:

我最近开始开发一款游戏,我已经编写了“Resource-Loading-Procedur”,它将所有纹理、声音等加载到内存中。它适用于当前的 10 到 15 个文件,但在测试了更多文件后,我得到了 OutOfMemoryException,因为该程序最多只能使用 2GB RAM。

我通过打开 FileStream 中的每个文件并将这些 FileStream 存储在一个列表中做了一些解决方法,但这会导致 Ingame-Loading 变慢,因为我必须加载正在使用的每个纹理。

我会很感激任何答案!

问候, 米卡。

【问题讨论】:

项目 > 属性 > 编译选项卡。将 Target CPU 更改为 AnyCPU,如果看到“Prefer 32-bit”复选框,请取消勾选。那是快速的方法。否则,将游戏拆分为关卡并仅加载关卡所需的资源肯定是您以前见过的一种技术。 谢谢,我刚试过,它有效。真的这么简单吗? xD 还是谢谢! 【参考方案1】:

嗯,在 VB.NET 中分配内存是不可能的。 默认分配 2048MB 内存。 如果要在 C# 中分配内存,请使用:

malloc(16384)

此代码将分配 16MB 内存

【讨论】:

C# 有带垃圾回收的内存管理:没有 malloc。

以上是关于有没有办法在 VB.NET 中分配更多的 RAM?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 SKSpriteNode 中分配和调用变量?

如何在 Linux 中分配大的连续内存区域

是否可以在单个变量(批处理文件)中分配多个值?如果没有,有没有办法以更有效的方式运行它?

在 Linux 内核中分配用户空间内存

有没有办法为 NUMA 中的数据分配特定的内存?

Spark在实际项目中分配更多资源