惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - 我们的游戏世界

[公告]Framework组的最新进展[Sumtec] 终于快忙出头了,开了个FTP给大家用[mikespook] 非常抱歉没有为大家做点什么[吹雪] 框架结构图(二)[Sumtec] DGF的详细解说[Sumtec] Framework组的工作报告[Sumtec] 提交了CsharpC&C DEMO的代码在cvs[steeven] 更加详细的ThreadPool测试报告[Sumtec] ThreadPool 测试结果的第一时间发布[Sumtec] GC的一个问题 [Koffer] [工作报告] Framework组的工作报告[Sumtec] [讨论] 分布式计算的Action,我的解决方案[Sumtec] [游戏]服务器和客户端之间的同步策略[steeven] 代码更新了。[Sumtec] Framework组最近的工作报告[Sumtec] 同学们,准备干活了[steeven] [引用资料][转帖] 玩家行为基本模式[[ IceSharK - PP.Poet ]] 微軟用.net開發的遊戲例子 mikespook 你的任务有没有进展啊?[Sumtec]
最新贴图[Sumtec]
我们的游戏世界 · 2004-06-18 · via 博客园 - 我们的游戏世界

呵呵,有点丑,没办法,俺不是美工……谁是美工请举手!!

这个是调试窗口,上面那一块的东西早就已经OK了,这次的重点是下面那一块Trace,可以看到效果还是可以D。说实话这个Trace窗口给我调试思考调度契合动作调度器给了不少的帮助——多线程加上同步确实比较难调,有时候会有莫名其妙的问题出现,等发现的时候断点已经来不及了,运行之前设置断点也不行(问题不会出现)。这时候就依赖于Trace窗口和临时添加的一些MessageBox.Show这样的代码来完成调试。

简单说明一下上图:里面的Tank#... 表明思考调度器调度了Tank#0000001C进行思考,因为我在Tank的思考代码里面添加了一句frmDebug.Instance.Trace(...);,也就是显示这些代码的内容。
而另外的那个sleep = 100... 则是输出游戏主循环线程的睡眠情况。目前游戏内容简单,而且对象稀少,因此活动量非常的小,这个时候总不能够让CPU不停的循环吧,总得要保持一个基本的速度或者接拍吧。为了这个我没有少费功夫,这行输出就是为了进行这个调试的。
sleep = 100表示一共睡眠了100ms,实际上目前限定一次循环的节拍就是100ms,可见几乎没有任何运动量。不过不要以为这就是最初的结果,最初的结果相当的混乱。由于睡眠采用的单位是ms,而Ticks则是0.001ms,因此总是有问题(我没有发现单位不一样),要么就是常睡不起,要么就是节拍不固定。此外,一开始Trace的代码本身没有经过很好的优化,因此几乎每一次循环都会占用超过100ms。经过一次优化之后发现会越来越慢,因为跟踪的信息越来越大了,后来经过再一次调整,每一次循环消耗的时间终于缩小到20到30ms之间。最后我又对Trace进行了更新时间间隔控制(现在控制在每隔1秒钟进行一次输出),就得到了上面的结果——几乎没有任何消耗。

当然,这个Tracer的功能会日益完善的,我希望能够超过Terrarium的那种跟踪能力。不过现在也凑和,可以用,所以目前不打算进行功能完善的操作了。