在Panda3D中,可以使用以下代码实时打印帧率:

from direct.showbase.ShowBase import ShowBase

class MyApp(ShowBase):
    def __init__(self):
        ShowBase.__init__(self)
        self.accept('escape', self.quit)
        self.taskMgr.add(self.printFrameRate, 'printFrameRate')

    def printFrameRate(self, task):
        fps = round(self.getAverageFrameRate(), 2)
        self.title = 'FPS: {}'.format(fps)
        return task.cont

    def quit(self):
        self.destroy()

app = MyApp()
app.run()

这个例子中,我们创建了一个名为MyApp的类,它继承自ShowBase。在__init__方法中,我们添加了一个按键监听器,以便在用户按下“Esc”键时退出应用程序。我们还在任务管理器中添加了一个新的任务printFrameRate,它将每一帧都调用并打印当前的帧率。

printFrameRate方法中,我们使用self.getAverageFrameRate()方法获取当前的平均帧率,并将其四舍五入到小数点后两位。然后,我们将这个帧率显示在窗口标题栏中。

最后,我们在quit方法中添加了一个销毁应用程序的语句,以便在用户按下“Esc”键时退出应用程序


原文地址: https://www.cveoy.top/t/topic/hsKF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录