可以用Python编写程序显示FPS(每秒帧数)吗?

2 投票
3 回答
1298 浏览
提问于 2025-04-16 00:19

我在想……

这有可能实现吗?

一个简单的控制台命令程序,可以显示你当前正在运行的游戏或程序的帧率(FPS)?

3 个回答

0

只要你有可以用来读取应用程序行为的绑定或钩子,使用任何库都可以。通常,这些计数器是通过OpenGL(或DirectX)向程序发出的查询来实现的。

如果是OpenGL的应用程序,pyOpenGL提供了相当多的功能,值得你花时间去了解一下。我对DirectX没有经验,但我想你应该能找到类似的绑定。

http://www.cs.man.ac.uk/~toby/frameratedisplayer.htm 如果你想看看一个简单的例子,它正是做这个的(前提是你能理解一点C语言的语法)

0

简短回答:不可以。

详细回答:如果不了解这个应用的内部结构,并且这个应用没有合适的接口来进行这样的测量,那就不行。

1

简短回答:是的。

详细回答:在被测程序中添加一些“钩子”来收集统计数据会简单很多,此外,你也可以直接在更底层的地方进行“钩住”,比如直接对接DirectX或OpenGL。你可以从一些现有的帖子开始探索,这些帖子里有相关的信息。虽然它们是用C++写的,但这没关系,你可以使用SWIG来让Python和C/C++之间互相配合。

作为证明,有一个著名的Fraps应用程序,它就是在做你所说的事情。

撰写回答