游戏开发论坛

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

求救:如何在dx8.1b下有效的限定FPS?

[复制链接]

2

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2004-7-8 19:33:00 | 显示全部楼层 |阅读模式
各位好,我在开发PC版游戏时遇到这个限定帧数的问题。
这个游戏是30FPS的,使用的是DX81bSDK,一般来说玩家的系统最低的刷新率为60HZ,
如果玩家的3D显卡支持D3DPRESENT_INTERVAL_TWO这种方法,这样的话在WIN2000,WINXP下这个问题就很好解决了。 但是如果玩家的3D显卡不支持D3DPRESENT_INTERVAL_TWO,
那么怎么办呢?有什么好点的办法,可以达到限定30FPS呢?同时CPU的占用率要很低。
还有在win98,WinME系统下面,在创建D3D DEVICE时,presentation 的参数 FullScreen_RefreshRateInHz只能使用0,D3D DEVICE的刷新率和桌面一样的,用户是无法定制的,这种情况下如何有效的限定FPS呢?
我自己原来尝试着用读取RDTSC的方法,创建计数器,可是发现很耗CPU,如果用信号量或者EVENT触发的异步方法,也很难做出精确高效的限定帧数东西。
   如果哪位朋友有什么点子,或者以前研究过的,请在这里教教我吧。
谢谢。 [em7]

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-7-9 11:26:00 | 显示全部楼层

Re:求救:如何在dx8.1b下有效的限定FPS?

顶一下

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2004-7-9 19:02:00 | 显示全部楼层

Re:求救:如何在dx8.1b下有效的限定FPS?

曾?看?些老外的文章, 建?不要限定frame rate, 反而?⒁??拥奈锛?D??quot;time-based"移?? 意思即是, ?算一??"移?悠?浦?quot; (例如:timeFactor=fixedFPS/currentFPS), 再?⒁?铀俣瘸诉@???抵? (Pos+=(timeFactor*movespeed); )

好像是???

8

主题

67

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2004-7-10 10:29:00 | 显示全部楼层

Re:求救:如何在dx8.1b下有效的限定FPS?

想限定fps必然使cpu达到100%,你看看一些商业游戏就知道了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-3 20:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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