从GPU获取FPS和帧时间信息

问题描述 投票:-1回答:1

我是数学家而不是程序员,我对编程的基础有所了解,并且在Linux和Windows中都是相当高级的超级用户。我知道一些C和一些python,但没什么。

我想做一个叠加层,以便在我开始游戏时可以获取有关amd和nvidia GPU的信息,例如帧时间和FPS,因为我可以肯定,当前的系统基准测试用来比较两个GPU的方法存在缺陷,因为小型实例和瞬间提高FPS的场景(但与用户体验完全无关)会导致更高的平均FPS数量,并且无意或有意误导了市场(例如,我记不清游戏的名称,可能是COD地图上高度棋盘格化的实体,玩家甚至看不到,导致漫游时AMD GPU似乎表现欠佳,尽管该区域导致较低的平均FPS计数)

我对如何从理论上计算GPU性能有一个想法,但我不知道如何从GPU中收集数据,您能否请我参考api手册或参考资料来帮助实现这样的覆盖?

我想尽可能少地学习(我的意思是说,我想学习我绝对必须学习的知识才能完成我不打算成为编码员的工作)。

我先谢谢你。

directx nvidia amd frame-rate vulkan
1个回答
1
投票

自己编写代码很简单。这是为您提供的一些预先存在的开源选项:

要获取时序信息并绘制您的自定义叠加层,您可以使用(并修改)OCAT之类的工具。它支持Direct3D 11,Direct3D 12和Vulkan应用程序。

要仅以CSV格式获取时间(以及其他有趣的信息),可以使用PresentMon之类的命令行工具。应该可以在D3D中使用,并且我也一直在Vulkan应用程序中使用它,并且似乎接受了它们。

© www.soinside.com 2019 - 2024. All rights reserved.