有没有什么好方法可以显示计算机是否可以运行特定的程序/软件? P>是否有一个好的方法,如果一台计算机能够运行一个程序/软件而不存在任何性能问题,使用纯JavaScript(谷歌V8)、C++(Windows、Mac OS和Linux),通过尽可能少的信息从软件创建者(如CPU得分、GPU得分)?

有没有什么好方法可以显示计算机是否可以运行特定的程序/软件? P>是否有一个好的方法,如果一台计算机能够运行一个程序/软件而不存在任何性能问题,使用纯JavaScript(谷歌V8)、C++(Windows、Mac OS和Linux),通过尽可能少的信息从软件创建者(如CPU得分、GPU得分)?,c++,algorithm,performance,v8,measurement,C++,Algorithm,Performance,V8,Measurement,通过这种方式,我可以很好地指示我的用户他们的计算机是否足以运行该软件,因此,如果用户无论如何都无法运行该软件,则无需从一开始就下载并安装该软件 我想到一些类似于“分数”的指标: CPU: 230 000 (generic processor score) GPU: 40 000 (generic GPU score) + Network/File I/O read/write requirements 这样,只要我使用相同的算法,我就只能在用户的计算机上计算这些分数,然后进行比较,但

通过这种方式,我可以很好地指示我的用户他们的计算机是否足以运行该软件,因此,如果用户无论如何都无法运行该软件,则无需从一开始就下载并安装该软件

我想到一些类似于“分数”的指标:

CPU: 230 000   (generic processor score)
GPU: 40 000    (generic GPU score)
+ Network/File I/O read/write requirements

这样,只要我使用相同的算法,我就只能在用户的计算机上计算这些分数,然后进行比较,但我对任何这样的算法都没有任何线索,这些算法对于桌面使用的真实软件来说都是足够的。

我建议测试是否存在特定的库和环境(操作系统版本、视频卡存在、工作声音驱动程序、DirectX、OpenGL、Gnome、KDE)。为这些库分配优先级,并使用优先级进行比较,例如视频卡存在比KDE存在更重要

问题是,即使是过时的硬件也可以运行大多数软件而不会出现问题(只是速度较慢),但最新的硬件无法运行一些没有安装要求的软件

例如,我可以在我的Pentium III coppermine上运行Firefox 11(使用FreeBSD和X服务器),但如果你在最新的硬件上安装windows XP,并且有六核i7和nVidia GTX 640,它仍然无法运行DirectX 11游戏

此方法不需要软件创建者的帮助,但并非100%准确。 如果您想要90%以上的准确信息,请在上载前让软件创建者选中5-6个复选框。例如:

  • 我的应用程序需要DirectX/OpenGL/3D加速
  • 我的申请需要声音
  • 我的应用程序需要Windows Vista或更高版本
  • 我的应用程序需要[high bandwith]网络连接
然后,您可以使用这些复选框中的信息测试特定的应用程序

编辑: 我认为额外的检查可能是:

  • 视频/音频编解码器
  • 像素/顶点/几何体着色器版本,GPU物理加速(可能对游戏至关重要)
  • 不再那么相关:处理器扩展(SSE2 MMX等)
  • 第三方软件,如pdf、flash等
  • 系统库(libpng、libjpeg、svg)
  • 系统版本(服务包编号、操作系统版本(高级专业版等)
  • 窗口管理器(OSX上的某些应用程序需要X11才能运行,Linux上的某些应用程序只能在KDE上运行,等等)
这些是我(和许多其他人)在安装不同软件时看到的实际需求


至于旧硬件,如果计算机满足硬件要求(像素着色器版本、处理器扩展等),那么有充分的理由相信软件将在系统上运行(可能速度较慢,但如果需要基准测试,这就是基准测试的用途).

对于GPU,我认为如果不在机器上运行一些代码来测试机器是否符合规范,就无法获得分数。
对于GPU,这通常是检查它能够使用的着色器模型,或者默认为较低的着色器模型(因此应用程序的复杂性较低)或者告诉他们,他们没有希望运行代码,因此退出。

什么样的软件?一个游戏,一个数字处理工具,一个网络密集型产品,一个I/O有限的应用程序?有这么多不同的变量,而你给我们的是这么少的想法,你试图确定什么。各种各样的。我知道有很多变量,这些在这个问题之前,如果我从软件创建者那里收到一些信息,可能会有某种类型的指示。请参见下面我的答案。答案(计算机是否可以运行它)更多地依赖于已安装的库/驱动程序/硬件,而不是处理器/GPU功能。为驱动程序/库编写测试可能会更加棘手,但难度不会太大。因此,一般来说:优先级更新软件(库)在旧硬件之前,这是正确的吗?另外,您是否可以添加更多您认为有用的问题,这些问题不是自我解释的(用户可能理解,如果她/他想播放音乐,它需要一个声音设备)。如“DirectX/OpenGL/3D加速”。谢谢,没问题。我添加了更多问题(要求),请参阅编辑。我将运行一些代码,尝试提出一个好的建议,以确定计算机是否能够运行该软件。感谢您告诉“着色器模型”,您是否知道其他经常需要检查的重要信息?谢谢您内存、速度(#核心等)。基本上,这需要您先做一点研究。您需要了解应用程序对GPU的征税程度(吞吐量:每像素平均计算值等)然后,您可以将其与生成卡的功能进行比较,然后可能建议用户可以选择的设置,或者您强制设置。根据您实际执行的操作,这可能是一个相当复杂的过程。您可能希望概括这是一种有意义的方法,可以减少不断增加的复杂性y、 着色器模型,内存可能是一个好的开始,也可能是一个好的结束点,这取决于您正在做什么。