从零开始学Python游戏编程27-监听键盘3

1 设置游戏帧率

1.1 帧与帧率

“帧”指的是动态画面中的单张静态图像,通过快速切换静态画面(帧)形成动态视觉效果。“帧率”指的是特定时间段(一般为1秒钟)内生成的静止画面,帧率越高,画面越流畅‌。但是帧率越高,所占用计算机的内存或CPU就越高。

1.2 没有设置帧率的游戏

《从零开始学Python游戏编程26-监听键盘2》中的移动矩形的游戏中,没有设置帧率,此时的游戏会尽可能多地产生帧,而这些过多的帧无法在显示器中显示出来,浪费了电脑资源。移动矩形的游戏运行后,通过电脑的“设备管理器”可以看到,该游戏占用了大量的内存、CPU以及电源资源,如图1所示。

图1 移动矩形的游戏占用电脑的大量资源

相关链接1 通过“Ctrl”+“Alt”+“Del”打开操作系统的“设备管理器”。

1.3 设置游戏帧率

在移动矩形的游戏中,大概每5毫秒运行一次while循环,那么1秒钟大概会产生1000÷5=200帧。而对于游戏来说,帧率在30-60之间,就不会产生卡顿。设置游戏帧率的步骤是首先创建时钟类的实例,之后通过该实例设置帧率。

1.3.1 创建时钟类的实例

通过如图2所示的代码创建时钟类的实例。

图2 创建时钟类实例的代码

其中,Clock类在pygame.time模块中定义,变量clock即为Clock时钟类的实例。

注意1 Clock时钟类的首字母C是大写,变量clock的首字母c是小写。

1.3.2 通过时钟类的实例设置帧率

在while循环的最后,通过clock设置帧率的代码如图3所示。

图3 通过时钟类的实例设置帧率的代码

以上代码的作用是将游戏的帧率设置为60。依然假设大概每5毫秒运行一次while循环,那么产生60帧所需的时间为60×5=300毫秒,则在1秒钟之内,该游戏释放了1000-300=700毫秒的CPU占用时间。运行设置帧率后的游戏,通过“设备管理器”可以看到,内存、CPU以及电源资源的占用率大大减少了。

图4 游戏资源占用率大大减少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值