我是我的应用程序我根据GPU的存在情况以不同的方式渲染图像(当有GPU时使用OpenGL)。
目前我有一个配置选项。
但我希望我的应用能够通过某种方法自动检测GPU存在,一些快速测试。我认为没有直接的API允许这样做。但是,那应该是什么测试?
答案 0 :(得分:1)
它不像布尔值那么容易,但你可以尝试像
这样的东西glGetString(GL_VENDOR);
glGetString(GL_RENDERER);
并尝试根据已知的GPU供应商列表来确定它。这就是OpenGL手册页所说的:
因为GL不包含对性能的查询 一些实现的特性,一些应用程序被写入 识别已知平台并根据已知平台修改其GL使用情况 这些平台的性能特征。 字符串GL_VENDOR和GL_RENDERER一起唯一指定 一个平台。它们不会在发行版之间发生变化而应该使用 通过平台识别算法。
举个例子,我的设备返回:
Vendor: NVIDIA Corporation
Renderer: NVIDIA Tegra