游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5545|回复: 12

大家是怎样控制游戏的 实时性 的?

[复制链接]

21

主题

170

帖子

170

积分

注册会员

Rank: 2

积分
170
QQ
发表于 2004-4-16 13:27:00 | 显示全部楼层 |阅读模式
就拿CS来说,它在性能好的机器上有100FPS,在破机器上虽然达不到100FPS,但他的动作不会变慢,只不过把一些帧丢掉了(我想),这样保证了完成这些动作的时间是一样的。

我正在想一种办法模拟这种方式,比如用专门的线程来产生一些类似WM—TIMER消息却比ONTIMER更精确的方法(没试,可能行不通),但我想先向大家取点经验,大家怎么控制游戏的 实时性 的呢? [em20] [em20]

21

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2004-4-16 13:34:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

在每次进入你的渲染过程的时候判断一下逝去的时间,timegettime,就可以,如果>33渲染的化就可以控制在30帧,

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-4-16 16:34:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

是的,因为在PC上的游戏因为配置各不相同,要做到在每台机器上的帧数固定是相当困难的。所以PC游戏一般是以时间做为数据更新的参照物,而不是以帧为参照物的。

6

主题

34

帖子

36

积分

注册会员

Rank: 2

积分
36
QQ
发表于 2004-4-16 16:55:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

我的游戏,有的时候太快,有的时候太慢,速度很不协调,也很不好处理

比如我的一个飞机游戏,平时速度挺快的,如果出现了好多敌人,速度变为正常速度了,如果这个时候敌人开枪了,我也开枪了,我还放了氢弹(全屏幕产生20个爆炸),速度一下就下来了,等爆炸过去后,速度又回来了,这个大家都是怎么处理的

36

主题

135

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2004-4-16 16:56:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

说得倒好,我的游戏还没有做好,fps就下30了,根本不用控制。

21

主题

170

帖子

170

积分

注册会员

Rank: 2

积分
170
QQ
 楼主| 发表于 2004-4-16 21:25:00 | 显示全部楼层

Re: 大家是怎样控制游戏的 实时性 的?

有点想法了,但还是有点晕,我现在的场景是在ONPAINT里重画的,我该把这些时间计算判断等加到哪里呢 ?[em4]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2004-4-16 21:49:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

现在我也有个问题,我也是用时间控制帧速,就是在主循环的开头记一下时间,末尾等待到一定的时间,比如帧速30就等待到33毫秒。可是这种方法在快的机器上还行,在慢的机器上就不行了。因为它每次调用主循环都有一个小小的时间,这样累加起来,帧速就越来越慢。不知道这个问题要怎么解决呢?

7

主题

203

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
QQ
发表于 2004-4-17 01:04:00 | 显示全部楼层

Re: Re:大家是怎样控制游戏的 实时性 的?

cellist: Re:大家是怎样控制游戏的 实时性 的?

现在我也有个问题,我也是用时间控制帧速,就是在主循环的开头记一下时间,末尾等待到一定的时间,比如帧速...



调高线程优先级,优化算法。最后不行的话就证这台机子性能在你的游戏的最低配置之下。

1

主题

51

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2004-4-17 09:45:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?


Re:大家是怎样控制游戏的 实时性 的?

现在我也有个问题,我也是用时间控制帧速,就是在主循环的开头记一下时间,末尾等待到一定的时间,比如帧速30就等待到33毫秒。可是这种方法在快的机器上还行,在慢的机器上就不行了。因为它每次调用主循环都有一个小小的时间,这样累加起来,帧速就越来越慢。不知道这个问题要怎么解决呢?


算算花了多少时间,如果小于33ms就等到33ms,如果不小于就不等了,不就可以了?

6

主题

40

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2004-4-18 15:03:00 | 显示全部楼层

Re:大家是怎样控制游戏的 实时性 的?

游戏的运行与显示总的来说是分开的

只要能保证运行达到比如 30次/秒,那么在任何情况下游戏速度都是相同的。

而显示是要在保证了游戏运行所消耗的资源(30次/秒)后进行处理,所以如果运行是占用的资源突然变大了,那么提供进行显示处理的资源就被压缩了,也就是显示帧数就会变少了。是一个动态适应的处理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 11:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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