为什么增加虚拟内存无助于提高游戏性能?

为什么增加虚拟内存无助于提高游戏性能?

我的 RAM 只有可怜的 2GB,而大多数应用程序和后台服务占用了至少 25% 到 35% 的内存,从而导致游戏卡顿。

我尝试添加虚拟内存,从 4GB 到 8GB,甚至 11GB,但这没有任何帮助,游戏仍然滞后。

我也不明白,为什么我们不能将硬盘空间用作 RAM?将虚拟内存增加到 11GB 根本没用,将数字内存增加到 100GB 或整个硬盘空间可能也无济于事。

答案1

想象一下,你是教室里的一名学生。你正在做作业,但没有带课本。你无法解答问题,需要请教别人。幸运的是,你在黑板上找到了一些关于计算的信息,但黑板上写的内容对你没有帮助。然后你想起助教的房间就在你所在的教室旁边。你离开教室,走几米,她就在那里。你问她这个问题,但不幸的是她不能回答你的问题。然后你决定亲自问讲师。但这次你必须上楼。好的,没问题。你去了那里,问了他这个问题。我知道这很难相信,但他也无法回答你的问题,因为他不知何故忘记了与你问题相关的部分。他立即叫他的另一个助手去图书馆找相关的教科书。缺点是图书馆步行 5 分钟就到了。助教去了图书馆,找到了那本书并把它拿了出来。这就是你的答案!现在你回到教室继续做作业。

现在您就是 CPU。您可以执行任何类型的操作(算术:乘法、加法、减法、除法或逻辑:或、与、异或等)。您需要一些数据来进行处理,因此您首先去检查 L1 缓存(主板)。您可以非常快速地访问 L1 缓存,只需抬起头并查看主板即可。好吧,您访问得很快,但其中包含的数据量很少。如果您要查找的数据不在那里,您可以转到 L2 缓存,即助手。这需要更长的时间,但她可以提供给您更多的数据。如果您运气不佳,您必须转到 RAM,即讲师。拜托,我们都是人,我们会忘记事情。有时讲师也会忘记!如果您过得不好,比如头顶上有乌云,他就会忘记您要的数据。那时,他必须去检查库(硬盘,或者说虚拟内存),与主板(L1)、助手(L2)甚至讲师(RAM)相比,该库的空间非常大。但有一个关键的缺点,你必须步行几分钟才能到达那里!来回一趟需要 10 分钟,加上查找教科书,就需要 2 分钟了!从图书馆获取任何数据需要 12 分钟,而询问讲师则需要 1-2 分钟。

内存是计算机系统中精密的部件。为了存储大量数据,内存必须变慢。与其他设备相比,CPU 的运行速度非常高(2-4 GHz)。RAM 模块的运行速度为 1-2 GHz。硬盘的速度甚至要慢得多。高速缓存位于 CPU 芯片中。因此,CPU 无需降低速度即可访问高速缓存。但是,当所需数据驻留在 RAM 中时,CPU 必须等待连接 CPU 和 RAM 的总线才能从 RAM 中获取数据。从硬盘获取数据甚至需要更多时间。好吧,这只是一个非常简单的版本。实际上,还有更多的事情发生(更多级别的高速缓存、内存访问时间、缓存未命中/命中、架构差异:英特尔与 AMD、总线速度、指令架构等)。如需进一步阅读,硬件秘密有很好的教程来解释所有这些事情。

Intel CPU 架构在此处输入图片描述


AMD 架构在此处输入图片描述

南桥(比连接视频卡等更快组件的北桥慢)负责 USB、硬盘、以太网等外围设备的通信。

这就是原因。您的游戏需要大量内存,您为系统提供了更大的库,但您必须走到那里才能获取信息。因此,就速度而言,您提供的虚拟内存量并不重要。您需要更多 RAM 来克服 RAM 不足造成的瓶颈。

答案2

硬盘分页虚拟内存相当慢,并且分页进出会产生很大的开销(在我看来)。虽然有一些“虚拟”空间用于将不需要和不必要的项目分页到磁盘,但系统仍然可以控制分页的内容。

如果您的游戏需要的 RAM 大于可用 RAM,那么将该程序的部分数据分页到磁盘,实际上并不比将它们从磁盘获取到内存中或者在它们完全超出内存范围时从磁盘重新获取它们快多少。

可能有帮助的事情:
1)获取更多内存(好吧,必须说)Win7 64位需要有~4Gig。

2) 关闭设备,仔细检查并禁用不需要的服务和未使用的程序。(即使是最后一点不需要的驱动程序)。例如:禁用超级读取,我认为在这种情况下这根本无济于事,它会将您以后可能会用到的东西加载到内存中。
必须有系统备份才能处理这些事情

3) 使用 RAMMAP 并将内容“JAM”出内存,虽然大部分内容会立即返回,尤其是在需要时,但您甚至可以刷新工作集,并暂时释放一些内存。这也会迫使一些(其他)工作内容进行分页,使它们变慢,但不会影响您的游戏。

4) 使用 SSD 进行分页,虽然这可能对驱动器不利,但它应该能通过一些措施加快分页操作本身的速度。但仍然不行。

5) 在运行游戏之前,通过批处理或手动方式彻底结束任务。疯狂的人(比如我)甚至会在内存非常低的系统上暂时结束浏览器来玩游戏,然后在游戏退出时重新启动它(批处理或使用任务管理器)。

6) 在“程序和功能”/“打开或关闭 Windows 功能”中关闭 Windows 程序。虽然组件部分中的这些项目中只有少数会在不活动时占用内存,但有些会占用内存。只关闭那些您永远不会使用的程序。

7) 一些游戏允许在设置中进行使用更多内存的更改,有时这些更改位于游戏的配置文件中,并在网络上的某个地方列出。从高分辨率纹理切换到低分辨率纹理不仅可以释放视频纹理内存(尚未对此进行很好的测试),还可以释放在前往那里之前移动和存储它们的系统内存。

8) 缩小东西,绝望有时有办法缩小游戏组件,减少比特(24-16 位)压缩音频,压缩电影。其中大部分都是某种压缩格式,但有办法将其取出,压缩,然后放回原位。
免责声明 2:在线玩游戏时,更改游戏部件可能会触发“作弊破坏”事件。

9) 碎片整理,不仅仅是碎片整理,而是碎片整理和重新排序。当你必须大量依赖磁盘时,按顺序和更紧密地移动和移出数据会有所帮助。如果磁盘很乱,它可以帮上大忙。

10) 将分页和/或游戏部件和组件放在速度更快的磁盘位置,并尽可能将它们分成 2 个磁盘。如果您的游戏数据位于一个磁盘(单独的硬件项目)上,而分页位置位于不同的磁盘项目上,那么这两项任务的 I/O 性能会略有改善,每个任务都有自己的(慢速)并行活动,写入和读取之间的冲突更少。

相关内容