python pygame模块按键延迟_Pygame程序中的奇怪延迟

在使用pygame进行游戏开发时,开发者遇到一个延迟问题,尽管设置了60帧每秒的限制,但循环间的延迟仍然在4毫秒内不规则变化。通过使用%prun进行性能分析,发现`pygame.Clock.tick`和`pygame.display.flip`是主要的时间消耗点。现在寻求可能的原因,如事件获取、输入处理等,以解决循环延迟波动的问题。
摘要由CSDN通过智能技术生成

我在pygame中运行一个小游戏,在主循环的每次迭代之间需要一个恒定的延迟。虽然我把FPS数锁定在60pygame.Clock.tick\u busy\u循环(),我观察到延迟的变化(每个循环大约4毫秒)。我的一个函数应该被窃听,但我很难找到哪一个。你知道吗

我在Ipython的主循环中使用了一个%prun,结果如下:2264 function calls in 5.439 seconds

Ordered by: internal time

ncalls tottime percall cumtime percall filename:lineno(function)

322 4.401 0.014 4.401 0.014 {method 'tick' of 'Clock' objects}

322 0.730 0.002 0.730 0.002 {pygame.display.flip}

1 0.228 0.228 0.228 0.228 {pygame.base.quit}

1 0.034 0.034 0.034 0.034 {method 'blit' of 'pygame.Surface' objects}

1 0.028 0.028 5.439 5.439 main.py:9(main)

323 0.014 0.000 0.014 0.000 {pygame.event.get}

323 0.002 0.000 0.016 0.000 lib.py:26(getInput)

322 0.001 0.000 0.036 0.000 lib.py:80(checkEventType)

322 0.001 0.000 0.035 0.000 lib.py:91(instructions)

322 0.000 0.000 0.000 0.000 {method 'get_time' of 'Clock' objects}

1 0.000 0.000 5.439 5.439 :1()

1 0.000 0.000 0.000 0.000 {pygame.mixer.stop}

1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}

2 0.000 0.000 0.000 0.000 {ord}

这里有什么可以解释每次迭代之间延迟2-5毫秒的变化吗?你知道吗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值