C(Windows) – GPU使用率(负载%)
发布时间:2020-12-16 07:11:29 所属栏目:百科 来源:网络整理
导读:根据互联网上的许多消息来源,使用D3DKMTQueryStatistics可以获得GPU使用率(负载). How to query GPU Usage in DirectX? 我已成功使用此处的代码获取内存信息,稍作修改: http://processhacker.sourceforge.net/forums/viewtopic.php?t=325#p1338 但是我没有
根据互联网上的许多消息来源,使用D3DKMTQueryStatistics可以获得GPU使用率(负载).
How to query GPU Usage in DirectX? 我已成功使用此处的代码获取内存信息,稍作修改: 但是我没有找到D3DKMT_QUERYSTATISTICS结构的成员,该结构应该包含有关GPU使用的信息. 解决方法
查看
gpumon.c中的EtpUpdateNodeInformation函数.它查询每个GPU节点的进程统计信息.每个图形卡可以有多个处理节点:
queryStatistics.Type = D3DKMT_QUERYSTATISTICS_PROCESS_NODE ... totalRunningTime += queryStatistics.QueryResult.ProcessNodeInformation.RunningTime.QuadPart ... PhUpdateDelta(&Block->GpuRunningTimeDelta,totalRunningTime); ... block->GpuNodeUsage = (FLOAT)(block->GpuRunningTimeDelta.Delta / (elapsedTime * EtGpuNodeBitMapBitsSet)); 它收集进程运行时间并按实际时间跨度划分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |