12

对于普通读者:saga™ 继续……

我的应用程序在我的开发机器上运行良好 - 这是购买(5 年前)作为相当不错的游戏装备。因此,它是 64 位的,具有 2.2GHz 时钟速度和 2GB 内存。

然而,工作中的机器是标准的戴尔办公电脑,甚至很难启动我的应用程序,更不用说运行它了。

解释......我可以想象人们对我尖叫:“你到底在做什么来要求这样的规格?”嗯,我正在做很多实时图像分析和音频生成。所以那里。

我们的团队有预算购买一台专用笔记本电脑(需要便携)来运行它。所以现在我的任务是生成最低要求的规范。

我可以使用哪些工具来确定能够舒适地运行我的应用程序的最低规格?

更新:到目前为止的答案虽然有用,但更多地关注分析的替代方案。所以我提出了一个赏金,看看是否有任何软件可以做这种事情。

4

5 回答 5

6

您可以访问一个好的分析器吗?我认为了解应用程序中的性能瓶颈是值得的。如果事实证明您的应用程序受 CPU 限制,那么您显然需要考虑购买高端处理器。应用程序是多线程的吗?如果是这样,您的应用程序是在利用多个处理器,还是因为同步而被序列化?

如果应用程序受 IO 限制,也许您应该考虑使用 SSD 驱动器。

也许应用程序在分页上花费了太多时间?ETC...

如果您有权访问 Visual Studio 2010 Ultimate,我建议您查看Concurrency Profiler。它将帮助您可视化程序中正在发生的事情并识别性能瓶颈。它会告诉你你的应用程序在哪里花费时间:等待 IO、内存管理等。虽然这个工具肯定不会告诉你最低硬件要求是什么,但它应该让你很好地了解哪些硬件改进将帮助你应用程序性能更好。 如果您没有 VS2010,您可以使用任何好的分析器进行类似的分析。Concurrency Visualizer 最酷的地方在于它专注于暴露并发和多线程性能问题。

于 2010-07-18T02:58:39.783 回答
1

没有什么比真实世界的测试更胜一筹了……

尝试在各种硬件上运行您的应用程序,并根据您对可接受性能的看法提出建议的最低限度。

注意:绝对最低硬件要求和推荐的最低可接受要求之间通常存在很大差异(这听起来像是您真正追求的)。

于 2010-07-12T17:27:48.163 回答
0

一种选择是创建一系列具有不同系统配置的虚拟机,并在每个虚拟机中试用您的应用程序(您将希望在高性能机器上执行此操作)。这样,您可以调整 VM 的内存量、CPU 类型等,并在各种系统上模拟测试软件。在测试时,您可以使用 Windows 任务管理器查看您的应用程序正在使用多少主机 CPU 和内存。为了获得舒适的体验,您将希望您的应用程序尽可能地适应物理内存(加上大约 1-1.5 GB 用于操作系统和其他后台服务)。

还要记住您的应用程序是否有任何需要硬件支持的功能(DirectX 11、CUDA 等),并确保将其包含在您的硬件要求中。

于 2010-07-12T17:31:37.600 回答
0

从简短的信息来看,听起来您的 PC 并不是特别高的规格。您见过运行缓慢的戴尔机器是什么规格的?

我会尝试另一台 PC,以防“工作”机器只是糟糕的软件构建(猜测标准 XP 磁盘控制器驱动程序等)。

我通常不建议沿着 VM 路线走,因为这实际上只对限制 RAM 使用有好处。但是,如果您需要检查替代操作系统/服务包,那么虚拟机是一个不错的选择。

最后,您说应用程序加载缓慢,加载时它在做什么?查看性能监视器以查看它是否受磁盘、RAM 或 CPU 限制可能是一个想法。使用 Google 查找有用的计数器来监控每个计数器。

于 2010-07-12T19:26:24.113 回答
0

请原谅我说 b ***** g 显而易见,但是:

使用您的软件检查您的软件的硬件要求。

我不太明白为什么您的开发机器的规格不仅仅是您建议购买的笔记本电脑所需的规格。但是,如果由于某种原因这还不够好,请在具有其他规格的某些硬件上运行您的软件。例如,您可以从开发机器中取出 1GB RAM,以查看可用内存较少的情况。

有大量的基准测试软件可用于各种任务。例如,LINPACK 广泛用于对超级计算机进行基准测试。所有这些现成的基准测试以及一般方法中的缺陷在于,它们只能为您提供有关计算机如何运行基准测试的良好信息。使用您的软件将基准测试结果转化为对硬件性能的预测与其说是一门科学,不如说是一门艺术。在超级计算机世界中,组织在购买之前在新平台上对自己的关键应用程序进行基准测试。

于 2010-07-20T08:26:26.783 回答