首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不同计算机上使用两倍以上RAM内存的相同代码

在不同计算机上使用两倍以上RAM内存的相同代码
EN

Stack Overflow用户
提问于 2021-09-15 22:42:09
回答 1查看 187关注 0票数 0

我正在用C++和OpenGL创建一个“我的世界”克隆。

我今天注意到,在我的笔记本电脑上调试程序时,内存的使用是way,高于我的台式PC上的RAM使用量(~1.3gb比~500 my )。我从Visual的诊断工具中获得这些内存号。

我使用的是GitHub,即使使用相同的分支,相同的提交,完全相同的代码,笔记本电脑也会使用更多的内存。我试着清理解决方案,重建,再克隆一次,什么都没有。

Windows任务管理器上的内存使用也不同。

我想不出会发生什么。电脑在不同的平台上(笔记本电脑是Intel 10,桌面是Ryzen 3000),笔记本电脑有更少的RAM (8gb比16 8gb)。两者都在使用最新的Windows 10,我使用的是VisualStudioCommunity2019。

我不确定平台差异是否会对内存分配造成如此巨大的影响。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-15 23:02:53

许多膝上型计算机架构使用所谓的统一内存。也就是说,CPU和GPU (或APU上的等效部分)之间只有一个大的内存池共享。

在这种架构上,分配视频内存与分配RAM本质上是一回事。不过,所有这些都被图形驱动程序隐藏了。

因此,一个图形化的应用程序在笔记本上使用更多的RAM,而在带有离散GPU的桌面上使用更多的RAM,这并不令人惊讶。然而,与其说它使用更多的内存,不如说它使用的内存被不同的表化。

假设这两个平台都以相同的分辨率运行,并且加载了相同的资产,您可能会认为桌面上的GPU Memory + RAM使用大致等同于笔记本电脑上的RAM使用。

大概强调这个词。不同的图形架构/驱动程序使用内存的方式不同,所以这里不要期望1比1匹配。例如:

  • A 1080 p帧缓冲区至少需要几兆字节,这取决于驱动程序与实际屏幕的交互方式,其中有多少很少是显而易见的。
  • 平铺架构可以完全绕过需要大内存块的情况。

这是最有可能发生的情况。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69200506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档