关于游戏帖率的控制

tianyaoxiayu 2004-08-14 09:20:37
我想在游戏中进行每秒24帖的渲染或是32帖
请问该怎么设置
谢谢
...全文
200 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2004-08-16
  • 打赏
  • 举报
回复
渲染的速度能够达到多高,往往是场景的复杂程度来决定的。
渲染速度一般说来是越高越好,很少有限制速度的。
至于游戏内部动态模型的控制,大多数是给定一个运动的速度或者加速度,确保在不同的硬件设备和屏幕刷新频率下都获得相同的表现。

非要限制速度也是可以做到的,可以按照 honghaier(红孩儿) 提出的那种方法来做
tianyaoxiayu 2004-08-16
  • 打赏
  • 举报
回复
好的
寻开心 2004-08-16
  • 打赏
  • 举报
回复
一般来说,碰撞检测当中
newPos = oldPos + LasFrameTime*Rate*vectDirector;
新位置= 老位置 + 上一帧的时间×帧速度×运动方向

不必稳定速率,一般说来帧率不会差异太大
即便有差异也往往是特例,在处理特例的时候,加入一个最大帧时间限制就可以了
比如,你可以约定,上一帧时间大于50毫秒的时候,统一规定为就算是50毫秒
这样,即便突然遇到一个非常长的渲染帧的时候,场景也不至于跳跃太大
tianyaoxiayu 2004-08-16
  • 打赏
  • 举报
回复
我限制帖率是想用于碰撞检测的.
有了m_LastTime和m_NewTime
才能有m_LastPoint和m_NewPoint呀!
compupo 2004-08-15
  • 打赏
  • 举报
回复
用计时器就可以了
allsword 2004-08-15
  • 打赏
  • 举报
回复
directX8SDK下的
\samples\multimedia\directdraw\SpriteAnimate\SpriteAnimate.cpp
可供楼主参考,
其实很多东东在SDK下面的例子中都有。
tianyaoxiayu 2004-08-15
  • 打赏
  • 举报
回复
多谢大家.来着都给分呀
tianyaoxiayu 2004-08-15
  • 打赏
  • 举报
回复
还是好人多.谢谢楼上的大哥
neo40 2004-08-14
  • 打赏
  • 举报
回复
帮你UP
tianyaoxiayu 2004-08-14
  • 打赏
  • 举报
回复
这个问题只有高手才会看来
火云洞红孩儿 2004-08-14
  • 打赏
  • 举报
回复
对不起,顺手写的,没做过这东东,不敢保证对
假设想一秒25帧

#define MAX_TIME 40 //设间隔40秒(一秒为1000毫秒,除25帧为多少?40吧)

Class CGame
{
DWORD m_LastTime;//上次的时间
DWORD m_NowTime;//当前时间
//Add Your Member Varial
public:
BOOL fun_Init();
//Add Your Function
}
;
BOOL CGame::fun_Init()
{
m_LastTime=GetTickCount();
//Add Your Code;
return TRUE;
}
void CGame::Render()
{
m_NowTime=GetTickCount();
if((m_NowTime-m_LastTime)<MAX_TIME)//如果时间间隔不到40毫秒
{
return ;//直接返回,
}

//Add Your Code
m_LastTime=m_NowTime;//记录新的时间
}
tianyaoxiayu 2004-08-14
  • 打赏
  • 举报
回复
啊,是吗?那是我太笨了
这为朋友能具体点吗?
最好给点代码好吗?
谢谢了
kofightas 2004-08-14
  • 打赏
  • 举报
回复
这个不是什么困难问题,因为太简单才没人答...
每次渲染后等待到下个1/24秒来临就行了
xiangding 2004-08-14
  • 打赏
  • 举报
回复
我是低手,不懂,帮你顶

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧