我正在用C++和OpenGL创建一个“我的世界”克隆。
我今天注意到,在我的笔记本电脑上调试程序时,内存的使用是way,高于我的台式PC上的RAM使用量(~1.3gb比~500 my )。我从Visual的诊断工具中获得这些内存号。
我使用的是GitHub,即使使用相同的分支,相同的提交,完全相同的代码,笔记本电脑也会使用更多的内存。我试着清理解决方案,重建,再克隆一次,什么都没有。
Windows任务管理器上的内存使用也不同。
我想不出会发生什么。电脑在不同的平台上(笔记本电脑是Intel 10,桌面是Ryzen 3000),笔记本电脑有更少的RAM (8gb比16 8gb)。两者都在使用最新的Windows 10,我使用的是VisualStudioCommunity2019。
我不确定平台差异是否会对内存分配造成如此巨大的影响。
发布于 2021-09-15 23:02:53
许多膝上型计算机架构使用所谓的统一内存。也就是说,CPU和GPU (或APU上的等效部分)之间只有一个大的内存池共享。
在这种架构上,分配视频内存与分配RAM本质上是一回事。不过,所有这些都被图形驱动程序隐藏了。
因此,一个图形化的应用程序在笔记本上使用更多的RAM,而在带有离散GPU的桌面上使用更多的RAM,这并不令人惊讶。然而,与其说它使用更多的内存,不如说它使用的内存被不同的表化。
假设这两个平台都以相同的分辨率运行,并且加载了相同的资产,您可能会认为桌面上的GPU Memory + RAM使用大致等同于笔记本电脑上的RAM使用。
大概强调这个词。不同的图形架构/驱动程序使用内存的方式不同,所以这里不要期望1比1匹配。例如:
这是最有可能发生的情况。
https://stackoverflow.com/questions/69200506
复制相似问题