游戏时间

yydaoxwj 2009-08-26 03:17:11
这些天被游戏时间搞晕了
那位大虾帮我详细解释下游戏时间,帧时间?
还有,可以自己控制多久画一次么?
我在声景类中用timeGetTime()来控制摄像机,会有跳频的感觉?
推荐点资料也可以。
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarkChampion 2009-08-27
  • 打赏
  • 举报
回复
游戏中一般用 QueryPerformanceFrequency 和 QueryPerformanceCounter 进行高精度计时

void main() {
LARGE_INTEGER lv;

// 获取每秒多少CPU Performance Tick
QueryPerformanceFrequency( &lv );

// 转换为每个Tick多少秒
double secondsPerTick = 1.0 / lv.QuadPart;

for ( size_t i = 0; i < 100; ++i ) {
// 获取CPU运行到现在的Tick数
QueryPerformanceCounter( &lv );

// 计算CPU运行到现在的时间
// 比GetTickCount和timeGetTime更加精确
double timeElapsedTotal = secondsPerTick * lv.QuadPart;

cout.precision( 6 );
cout << fixed << showpoint << timeElapsedTotal << endl;
//printf( "%lf \n", timeElapsedTotal ) ;
}
}
bbvs1 2009-08-26
  • 打赏
  • 举报
回复
时间是个很重要的问题!
张赐 2009-08-26
  • 打赏
  • 举报
回复
我用timer来控制摄像机,没有什么问题啊
xingzhe2001 2009-08-26
  • 打赏
  • 举报
回复
游戏这种实时应用不适合timeGetTime(),精度太低,建议用QueryPerformanceCounter系列函数,具体搜搜。

有了计时当然可以控制多久画一次,你算得太快可以调用sleep()歇一会儿。

帧时间一般指两次d3d present()调用之间的时间。

8,303

社区成员

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

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