游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4447|回复: 15

游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

[复制链接]

38

主题

275

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
发表于 2006-9-5 11:51:00 | 显示全部楼层 |阅读模式
   ”一个调度器可以有效帮助以下游戏技术的实现,他们包括物理仿真,人物运动,碰撞检测,游戏中的人工智能,渲染。在所有这些技术中有一个关键问题就是时间。在不同的时间里,当数百个不同的物体和过程都需要更新时,这些仿真技术的很多种东西变得非常复杂。“
   游戏调度器确实是个好东西,它的扩展性好,条理也很清晰。但是当我拿到书中的那分调度器原代码时,在虚拟时间与真实时间的那一块,理解起来实在不好受。所以拿出来一方面与大家共享,一方面也希望得到高手的指点!
   书名:《游戏编程精粹3》
   我把关于调度器的内容贴到我博客上了:http://blog.csdn.net/kevinlynx/archive/2006/09/05/1179287.aspx
   上传的附件是书上的调度器代码。
   
   虚拟时间.....真实时间。。。关于时钟。。。欢迎大家加入讨论!

sf_200695115039.rar

20.83 KB, 下载次数:

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2006-9-5 12:20:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

这类东西常常被冠上一个看似很深奥的名字
但是仔细看过以后,你就会发现
这不是我一直在用的东西么

38

主题

275

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
 楼主| 发表于 2006-9-5 12:26:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

   我就想把里面的代码看懂!拜托给点解释!

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2006-9-5 12:59:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

不就是按设定时间执行各项任务么

start=开始时间
period=多少时间执行一次
duration=持续多少时间

38

主题

275

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
QQ
 楼主| 发表于 2006-9-5 15:56:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

这里的任务分为三种:基于时间的任务,基于帧的任务,以及渲染任务。
对于时间,这里还采用了虚拟(仿真)时间的机制!
希望大家看清问题了再发表观点!真心得到指教!

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-9-5 16:55:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

没有那么复杂。。。不过貌似它的代码有些BT啊。还好吧整体来说难度不大。

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2006-9-5 17:02:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

原理很简单的,别被说明迷惑了(我英文很烂)
主体在ExecuteFrame()
三种任务
渲染任务:每帧都执行,传给任务的是帧数
基于帧的任务:每帧都执行,传给任务的时间是当前帧的实际时间(每帧时间都不同)
基于时间的任务:每帧都执行,传给任务的时间是当前帧的实际时间标准化后的时间(时间按参数start+period*N来计算,实际帧时间标准化到这些值中,连续的几个帧时间可能相同)

以上只不过是把可能遇到的几种更新时间需求预设了一下:
更新不需要时间参数
更新需要实际帧时间
更新需要帧时间需要标准化,比如实际帧数在50-80之间跳动,但你需要30帧的固定帧更新

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2006-9-5 19:56:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

在我的看来 分不出 和ACE中的 timer的区别,似乎就是个计时器。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2006-9-5 23:37:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

我认为bracelet说的很是。
游戏编程精粹里的内容其实确实很……

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-9-6 09:03:00 | 显示全部楼层

Re:游戏中的调度器,游戏编程精粹3,欢迎大家加入讨论

GPG倒是会给一个问题提供一个标准的描述,但不是说描述变了问题就复杂了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 08:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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