2012年10月2日

摘要: 查了一个坑爹的EASTL编译问题,原来的文件是这样的:eastl::copy(behaviors.begin(),behaviors.end(),eastl::back_inserter(m_kBehaviors));把std::back_inserter替换成eastl::back_inserter,编译器报出一个warning,由于我们treat warning as error,必须解决。检查过程却是漫长而曲折。出错信息是:warning C4512: 'eastl::back_insert_iterator<Container>' : assignment 阅读全文
posted @ 2012-10-02 10:44 gamedev 阅读(690) 评论(0) 推荐(0)

2012年8月10日

摘要: 项目中有一些地方为了得到较快的速度,使用了无需释放的简易内存分配器:先一次分配一大块内存,然后每次需要内存的时候从这块内存里面直接递增分配合适大小的内存块。当使用完这些内存了以后,不做显式的释放,直到整个大任务结束了以后,才一次释放那整块内存。这样做优点在于内存分配非常快速,仅仅递增指针即可没有释放的开销(除了整块释放)不会有碎片这种做法是很多引擎的常见选择。但是也有一个很大的缺陷,就是每个分配对象的析构函数并没有被调用。当然我们在释放所有内存的时候也可以试图调用所有的对象的析构函数,不过出于效率考虑,很多引擎并没有在所有的模块里进行析构函数的调用,尤其是一些POD(plain old dat 阅读全文
posted @ 2012-08-10 09:26 gamedev 阅读(1352) 评论(0) 推荐(0)

2012年7月31日

摘要: 女人出门挑衣服,男人出差挑设备。终于咬牙决定,这次单位的旅游,不带ipad去,带kindle。之前往往是犹豫半天,然后要么带ipad,要么两个都带,结果只有ipad被用过,kindle一点都不用。仔细分析,带kindle还是很有好处的:轻便,220g vs 690g,而且ipad不是3g版,还要考虑带一个wifi路由在旅馆使用,重了很多。省心,在酒店里不用操心先充ipad还是iphone了,反正只能给iphone充电。kindle以续航长著称,带出去也不用带充电器,不操心充电的事情。专注,ipad什么都好,什么都可以做,不强烈的阳光下也能看书,能记笔记,写东西,整理todo list,玩游戏, 阅读全文
posted @ 2012-07-31 09:36 gamedev 阅读(311) 评论(1) 推荐(0)
摘要: 5年以前,做过一个xbox 360游戏,当时整个开发团队在pc上做各种开发,我一个人做前期的PC->360移植,这是很大的一个游戏,由于之前很多年开发都没体会到预编译头文件的威力,所以移植的时候偷懒,没有设置预编译头文件的选项(precompiled header,简称PCH)。其实每个solution里面的项目只要几分钟就可以设置好了,但我偏偏没有做。 移植的话,第一步也是最重要的一步是,试图让所有的代码编译通过,并能load地图,跑起main loop。(原因并不复杂,以后会在别的文章里面细谈)随着新项目和新代码逐步加入,编译时间越来越长,当我逐步把大量projects加到了solu 阅读全文
posted @ 2012-07-31 09:36 gamedev 阅读(1576) 评论(0) 推荐(0)

2010年2月22日

摘要: 一堆不同的Roles:Human Being: 34YFather: 5.5Y Driver: 5YGame Developer: 12YGamer: 23+YGTDer: 7YTraveller: 2.4Y 阅读全文
posted @ 2010-02-22 22:55 gamedev 阅读(190) 评论(0) 推荐(0)

导航