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

推荐订阅源

P
Proofpoint News Feed
罗磊的独立博客
Martin Fowler
Martin Fowler
B
Blog RSS Feed
U
Unit 42
V
V2EX
H
Help Net Security
V
Vulnerabilities – Threatpost
The Register - Security
The Register - Security
IT之家
IT之家
Cloudbric
Cloudbric
K
Kaspersky official blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
P
Palo Alto Networks Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
博客园 - 司徒正美
Cyberwarzone
Cyberwarzone
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research
T
Tenable Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
G
GRAHAM CLULEY
T
Threatpost
C
Check Point Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
The GitHub Blog
The GitHub Blog
C
CERT Recently Published Vulnerability Notes
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
The Hacker News
The Hacker News
Schneier on Security
Schneier on Security
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Blog of Author Tim Ferriss
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy & Cybersecurity Law Blog

博客园 - 我们的游戏世界

[公告]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的那种跟踪能力。不过现在也凑和,可以用,所以目前不打算进行功能完善的操作了。