摘要:这一次给出一些补充的框架图:这个图的左边一个工作流程是整个游戏的主循环。对这个流程我有一点需要解释,就是那个真备退出游戏循环。这个循环是为了解决一些不能够立即退出的问题,例如已经正在计算一些动作,结果还没有告知对方等等。右边的工作流程是正常游戏工作流程的详细图例。在每一次的正常游戏循环里面,每一次都会经历几个大的步骤,图中的三个步骤就是一个简单的配置方案。当然,也许还应该有一些其他的步骤,但是这里...
阅读全文
随笔分类 - 研究与讨论
关于一些问题的研究和讨论
摘要:由于dudu那边的测试结果和我的很不一致(他那边ThreadPool比Single要慢,结果正好和我的反过来),因此我怀疑我所做的测试不准确,太过几乎公布结果了。因此我又重新测试了一遍,测试结果如下: --此前大约有6、7个热身测试,结果已删除。 --此处测试的时候,MSN、QQ已注销,网线连接,只有一个IE窗口,VS打开。--测试使用Release版本,不在调试状态。测试对象100 个,测试强度...
阅读全文
摘要:这一次测试的主要任务在于验证ThreadPool的性能到底怎么样。由于写一个Game需要榨尽CPU每一滴血(在尽量不影响设计方便性的前提下),因此对于某一些大量的无序任务应该怎么样去处理表示非常的困惑。一般的游戏文章都会让我们不要使用多线程,或者尽量少使用多线程技术。因此我对于这类文章有一个结论,就是应该直接用一个循环来完成所有的“任务”。但是我自己却对于放着多线程技术不用...
阅读全文
摘要:http://www.cnblogs.com/koffer/archive/2004/05/31/12442.aspx在测试GC.GetGeneration(Obj)的时候发现,GC.GetGeneration(Obj)的值根据...而不同!
阅读全文
摘要:先来看看序列图:看之前先看看一些补充说明,左边是Tank所在的机子,右边是Building所在的机子。前面两个ReceiveData调用缺少了SendData调用,另外有一些地方实际上是异步操作,例如某些ReceiveData,为了画图简便,我都用掉用来表示了。希望大家看这个图的时候,对照一下最新版本的代码来看。在最新版本的代码里面,Action添加了8个(2*2对)虚函数。分别是GetXXInf...
阅读全文
摘要:Client Player{ //Game.Me1void CommandA{ cmd = new Command(methodInfo,args[]); server.channel.Send(cmd) } } Unit{ event LocationChanged; ID; //该单元的在游戏中的唯一标志 OwnerID;//该单元属于谁 _Location; Lo...
阅读全文
摘要:目前来说,代码进行了一定程度的更新,这个更新主要是针对“分步计算”,或者说我上一个Post所提到的问题。这个问题经过我的反复思考,已经有了一个基本的思路了。大概意思就是,所有的动作运算——就是那种需要主语、谓语、宾语的,而不是只需要知道自己的存在的运算,还是和原来设想的一样,统统放在Action里面进行计算。那么Action怎么获得双方的数据呢?怎么...
阅读全文
摘要:最近的工作有:1、研究delegate对于性能的影响;2、研究对象处理方式;3、思考对象计算问题。下面分别展开叙述:一、delegate的问题。这个问题是因为考虑到游戏对象里面有很多需要互动的地方,那么到底如何进行互动就是一件值得探讨的问题了。首先,游戏互动总会有被动调用对象的情况发生,比如说对方打击了“你”一下,那么“你”就必须有相应的动作表现。那么我们可以用“事件”的方式、“接口”的方式或者用...
阅读全文
摘要:第一个节目C#C&C游戏模式前面说过了,下面开始考虑怎样施工游戏模式是网络游戏:Server端先不考虑画面,负责玩家的管理,Mission的开始结束,产生运动脉搏.Server上执行关键计算,接收玩家操作指令,仅仅发送给客户端必要的状态改变.Client端从Server接收改变后的状态,体现在屏幕上.同时监视玩家键盘鼠标等事件,发送命令到服务器.部分可以本地处理的指令直接本地计算.客户端结构上MV...
阅读全文
摘要:为什么要研究delegate的性能呢?因为delegate实际上我们经常用到,比如说事件就是一个delegate。所以关于delegate的性能必须要有所了解,今天下午我就对这个问题展开了一定的研究,并查找了一些相关的资料(感谢dudu帮忙搜索)。这个研究的结果我写在了自己的Blog上面,下面是连接:令我感到惊诧的性能问题——Delegate
阅读全文

浙公网安备 33010602011771号