4

我在这里真的很困惑。我想创建一个应用程序,在我的显卡的不同温度下执行不同的事件,这是一个 AMD 显卡。

我想做这样一个应用程序的原因是,对于 GPU,我还没有找到一个,第二个是确保我永远不会因为达到巨大的温度而炸毁我的卡。

但是我不知道人们(未连接到 amd/intel/nvidia)如何编写应用程序来监控任何类型的温度。

那么它是如何发生的呢?一些我不知道的 API 还是什么?

4

2 回答 2

6

经过一番谷歌搜索,我发现了这个:

我认为这确实是特定于供应商的,它可能涉及直接与主板或视频驱动程序接口,并知道哪个 IOCTL 代表请求温度的代码。为此,我对主板驱动程序进行了一次逆向工程。这并不像听起来那么难,下载制造商的主板/BIOS 实用程序并尝试挂钩在该应用程序需要向用户显示温度时调用的函数。然后观察对 Windows 中的 DeviceIoControl() 或 linux 中的 ioctl() 的调用,并查看输入/输出是什么。

这可能是你最好的选择。我在这里找到了这些信息:http:
//www.gamedev.net/topic/557599-get-gpucpu-temperature/

编辑:
还发现了这个: http:
//msdn.microsoft.com/en-us/library/aa389762%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394493 %28VS.85%29.aspx

希望能帮助到你。

于 2011-05-01T13:35:35.730 回答
1

您可以使用现有的 GPU 温度监控程序之一,例如GPU-Z,将其配置为持续监控,并读取日志条目。

RivaTuner是另一个 GPU 监控程序,它有一个共享内存接口,允许其他程序实时获取数据,但专注于 nVidia。只要您的操作不是“降低 GPU 时钟速度”,它就可以很好地与 ATI 卡配合使用。

于 2011-05-01T13:57:29.847 回答