获取OS或OpenGL API的GPU信息的方法

时间:2013-12-16 23:21:38

标签: opengl gpu amd-processor ati

我已经编写了一个基准测试应用程序(http://www.headline-benchmark.com)来评估显卡,但我的问题是我使用GL_STRING从OpenGL API获取显卡名称。对于NVidia显卡,这种方法很好但是对于AMD显卡,我得到了无用的命名,例如“R9 200系列”,它将(当前)映射到四个完全不同的显卡。

我尝试使用OpenCL API来获取更多的卡信息(例如计算单元的总数),因为我可以使用它来消除AMD卡的歧义,但OpenCL很容易在旧系统上崩溃,所以我宁愿避免它。我可以使用OpenGL API的任何功能,这将给我更多有关卡的详细信息吗?或者AMD确实提供了我可以利用的任何类型的诊断命令行实用程序吗?

1 个答案:

答案 0 :(得分:1)

您在寻找什么样的细节?

由于您使用的是基准测试工具,我建议使用AMD的ADL API。这与NV的NVML API大致相同,它们都可以让你获得内存和GPU时钟以及GPU负载%。请注意,如果您想使用此信息,则应在基准测试全面展开时查询,因为现代GPU会在空闲负载期间缩减其时钟速率。

AMD最近还发布了一个名为AGS的新API,它比ADL复杂得多,可能会为您提供所需的信息。不幸的是,我还没有机会使用它; ADL主要用于电源状态管理,但仍然有用(特别是因为它与AGS不同,因为它是跨平台的)。