游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6049|回复: 3

为什么游戏帧率会变?

[复制链接]

27

主题

103

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2020-7-25 10:03:27 | 显示全部楼层 |阅读模式
游戏帧率,frame per second,也就是显卡一秒能"渲染"多少张图像。steam设置里更改,能在游戏里显示帧率,我们发现,这个帧率不是固定的。

问题来了:显示器的刷新频率是固定的,这是硬件保证的,系统可以更改刷新频率  -- 为什么显卡的帧率就是变化而不是固定的呢?
是什么因素导致显示器刷新率固定、但是显卡帧率确是变化呢?

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2020-7-26 18:53:21 | 显示全部楼层
因為GameLoop每個Frame的時間 不是固定的 可能多 可能少

27

主题

103

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
 楼主| 发表于 2020-7-26 19:36:26 | 显示全部楼层
Aming 发表于 2020-7-26 18:53
因為GameLoop每個Frame的時間 不是固定的 可能多 可能少

是说以下的frame函数的运行时间不一样么?



也就是说,1s内,while循环里的frame被执行了多少次,帧率就是多少,对吗?

第二个问题:

怎么从外部程序知道一个游戏的帧率呢?比如说,steam怎么是怎么算出一个游戏的帧率,并显示在左/右上角的?


0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2020-7-30 22:11:43 | 显示全部楼层
Hook  DirectX的Present或OpenGL glSwapBuffers API
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-4-20 14:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表