前言C++编码中Memory Leak是一个很讨厌却又挥之不去的话题,最近由于引入了GC,为了验证GC是否确实正常free了内存,于是先提供了一个内存分配的Tracer。与分配器不同,分配器主要解决的是两个问题:1、性能,池式分配往往能提供比直接Virtual Allocation快得多的效能。据说这一原则在Vista后无效了,因为微软修改了VA的实现机制,只是听说,没有实际测试过。2、碎片,避免大量散内存分配冲散了本身连续的内存,导致后面内存因为没有连续区块而分配不出来。我们的跟踪器Tracer主要是想解决一个问题,就是啥时候分了内存,啥时候删的,程序退出时删除掉没。方案一:DEBUG_NE Read More
posted @ 2012-09-13 16:44 天堂里的死神 Views(1978) Comments(4) Diggs(6) Edit
最近工作中,又陆续发现了Unreal的一些“隐藏的”东西。 例如Test Track整合。 例如UDS:脚本融入Visual Studio中。 例如Sync:代码合并工具。 …… 加上之前的Swarm和Perforce4整合。 有时候在想,我们能在效果上超越它,能在一些具体的环节上超越它,但如果真正要完成一个商业引擎,Unreal所达到的高度,其它的引擎并不是那么容易才能完成的。... Read More
posted @ 2012-04-30 23:28 天堂里的死神 Views(243) Comments(1) Diggs(1) Edit
最近在公司负责技能系统,这块儿想了很长时间了,最先还是在04年荣耀的时候就开始考虑的,因为那时欠考虑太多,被兰大一指头按死。但那之后并没有停止思考,玩了一些游戏,综合考虑了一些情况,结合当前项目的情况形成了现在的方案。 从设计上,瑕疵什么必然是有的,不然我可能现在也去开飞车造火箭了。这里不想谈具体的设计问题,而是想说一些衍生出来的问题。 一个模块,部署实施的时候必然会有多人共同参与,在这些人中... Read More
posted @ 2012-04-30 23:28 天堂里的死神 Views(216) Comments(0) Diggs(0) Edit
所谓数据绑定,其概念很简单,数据绑定决定了一个Source的改变会不会,以及怎样自动通知并改变Destination。Source可以是数据表,可以是XML,可以是一个内存数据,也可以是一个控件的某个属性值。Destination必须是一个Dependency Object的某个属性。这样的设定,使得数据的需求者(往往同时也是业务的处理者)和界面的提供者得以松绑。数据需求者仅需完成本身的业务逻辑,例如,被击中导致当前玩家掉血10点。至于这个减掉的10点如何在界面逻辑中表现,这个完全跟业务没关系,我一个业务的制作者没有知道它的必要。这样的松绑看似简单,但解决了一个潜在的问题:界面的开发往往比业务 Read More
posted @ 2012-04-08 10:11 天堂里的死神 Views(425) Comments(0) Diggs(1) Edit
http://blog.csdn.net/noslopforever/article/details/7413283这篇文章介绍了一下WPF的数据绑定,这是一种做法。回顾一下,数据绑定主要的几个组成部分:源数据池和源属性。目标数据池和目标属性。Binding:配置哪些源的改变,会使得哪些目标发生改变。前面也大概介绍了数据绑定基本需要解决的工作:源数据必须发布通知,这个通知应该由Binding来获取。Binding获取到通知后,根据配置,决定哪些目标属性将要发生更改,并修改目标属性。不同的实现,注意的主要问题,源数据和目标数据是一般没有什么问题的,最多就是Collection如何处理,这个没有任 Read More
posted @ 2012-04-08 10:02 天堂里的死神 Views(310) Comments(1) Diggs(1) Edit
最近想的越来越多。 十年前不会思考太多,功能完成了就感觉自己完成了自己的工作,后来发现完成是一回事儿,做得好就是另一回事,于是又朝着做得好努力,后来又发现做得好这个东西本身还挺复杂,怎么算好呢?强扩展性?简洁性? 估计拿这个问题去问十个人,会有十一种以上的说法。 但私认为,这个答案应该是唯一的,四个字: 因地制宜。 我们可以用做得很牛逼很复杂的工厂模式去为未来生产不同的可扩展元素打下一个坚实的基础,但如果我们正在做的是一个寸土寸金,每一个字节内存和每一个指令都需要细斟细酌、且对扩展性几乎可以算无要求的驱动时,这么牛逼的工厂模式,则除了鸡肋以外还是鸡肋,一点意义都没有。 ... Read More
posted @ 2012-04-08 10:01 天堂里的死神 Views(245) Comments(0) Diggs(0) Edit
CSDN贴地址:http://blog.csdn.net/noslopforever/article/details/7278355其实也没什么,[don box]里面也提过这个问题,但是没有继续展开。比如依照图形系统而言,一般封装时,接口可能会这么来设计:interface IRenderObject{};interface IRenderResource: public IRenderObject {};interface IRenderTexture : public IRenderResource {};实现时,所有的Render Object您都希望将其绑定到Device上,所以您一 Read More
posted @ 2012-02-22 11:10 天堂里的死神 Views(202) Comments(0) Diggs(0) Edit
CSDN贴地址http://blog.csdn.net/noslopforever/article/details/7269353很久没有做图形系统的东西了,之前因为家中出了些事情,把精力主要放到了一些杂务和俗务上。最近回过头来看看,离京前的日记里,清楚地标明着,DX11 Shader Reflect的问题还没有解决。DX9时代带过来的习惯,因为DX9时代的Shader编撰是离不开D3DX库的,因此,感觉上总是习惯把Shader Reflect和ID3DXEffect9理解为同一个层次的东西,而且当时学习DX的时候,也是Effect的文档要远多于Shader Reflect的文档。因此带来的一 Read More
posted @ 2012-02-22 11:09 天堂里的死神 Views(785) Comments(1) Diggs(0) Edit
准备开始。。。 Read More
posted @ 2011-11-29 12:17 天堂里的死神 Views(112) Comments(0) Diggs(0) Edit