我是初学者。有人向我展示了一种以非常简单的方式创建 fps 生成器的方法。他告诉我一个没有导入的代码,只有几行。我忘了。我想模仿这段代码,但我有很多错误。
但是向我展示代码的人使用了
for
循环,其中包括:
for i in range ???
i += 1
我不知道如何解决这个问题
我的代码:
frame_count = 0
start_time = 0
while True:
frame_count += 1
current_time += 1
if current_time - start_time >= 1.0:
fps = frame_count / (current_time - start_time)
print(f"Frames per second: {fps:.2f}")
frame_count, start_time = 0, current_time
错误:
回溯(最近一次调用最后一次): 文件“”,第 8 行,位于 名称错误:名称“current_time”未定义
您似乎正在尝试在 Python 中创建一个简单的 FPS(每秒帧数)计数器,但您在代码中遇到了一些错误。您收到的错误消息“NameError: name 'current_time' 未定义”是因为您在定义变量
current_time
之前尝试使用它。
要创建无需导入的基本 FPS 计数器,您可以使用
time
模块来测量时间。这是代码的更正版本:
import time
frame_count = 0
start_time = time.time()
while True:
frame_count += 1
current_time = time.time()
if current_time - start_time >= 1.0:
fps = frame_count / (current_time - start_time)
print(f"Frames per second: {fps:.2f}")
frame_count, start_time = 0, current_time
这是我改变的:
我导入了
time
模块以使用其 time.time()
函数来获取当前时间。
我使用
start_time
用当前时间初始化了 time.time()
变量。
我在循环内定义了
current_time
变量,以便在每次迭代中使用当前时间更新它。
通过进行这些更改,您的代码应该按预期工作并正确打印每秒帧数。