【发布时间】:2021-11-10 23:29:48
【问题描述】:
我正在使用 OpenGL 用 C++ 创建一个 Minecraft 克隆。
我今天注意到,在我的笔记本电脑上调试程序时,RAM 使用量远高于我台式机上的 RAM 使用量(~1.3gb vs ~500mb)。我从 Visual Studio 的诊断工具中获取这些内存编号。
我使用的是 GitHub,即使使用相同的分支、相同的提交、完全相同的代码,笔记本电脑也会使用更多 RAM。我尝试清理解决方案,重新构建,再次克隆,但没有任何效果。
Windows 任务管理器的内存使用也不同。
我不知道会发生什么。这些计算机位于不同的平台上(笔记本电脑是 Intel 10th,台式机是 Ryzen 3000),笔记本电脑的 RAM 较少(8gb 对 16gb)。两者都使用最新的 Windows 10。我使用的是 Visual Studio Community 2019。
我不确定平台差异是否会对内存分配造成如此巨大的影响。
【问题讨论】:
-
您是否有可能在笔记本电脑上运行应用程序时启用了调试标志,而不是桌面上?
-
您是否可能在 x86 模式下编译一个而另一个在 x64 下编译?这可能使某些类型的大小翻倍。
-
我打算把钱放在使用统一内存的笔记本电脑上。换句话说,GPU 内存使用情况被报告为 RAM。如果是这种情况,桌面上的 GPU 内存使用量应该大致匹配差异(假设两者都以相同的分辨率运行)。
-
我编辑了上面的评论更清楚,电脑的展台正在运行,在运行按钮侧面的 Visual Studio 选择中以 x64 版本运行。
-
@Frank 可能想通了。我将进行更多测试以确认。
标签: c++ windows visual-studio memory