摘要: protobuf-net是Unity3D游戏开发中被广泛使用的Google Protocol Buffer库的c#版本,之所以c#版本被广泛使用,是因为c++版本的源代码不支持Unity3D游戏在各个平台上的动态库构建。它是一个网络传输层协议,在GC上有很大的问题,本文对它进行了一次比较彻底的GC优化。从protobuf-net产生GC分析,到给出优化方案,到最后的完整无GC优化工程Demo,都做出了详尽的说明,为Unity3D的GC优化实践给出一个案例性的参考。 阅读全文
posted @ 2017-11-26 16:59 SChivas 阅读(16701) 评论(4) 推荐(6) 编辑
摘要: 前阵子刚刚集成xlua到项目,目的只有一个:对线上游戏C#逻辑有Bug的地方执行修复,通过考察了xlua和tolua,最终选择了xlua,很大部分原因是因为项目已经到了后期,线上版本迭代了好几次,所以引入Lua的目的不是为了开发新版本模块。xlua在我们的这种情况下很是适用,如xlua作者所说,用C#开发,用lua热更,xlua这套框架为我们提供了诸多便利,至少我可以说,在面临同样的情况下,你用tolua去做同样的事情是很费心的。但是如果你是想用xlua做整套客户端游戏逻辑的,这篇文对你可能就没什么借鉴意义了。其实纯lua写逻辑,使用xlua还是tolua并不是那么重要,因为与c#交互会少很多,而且一般都是耗性能的地方才放c#,即使网上有各种lua框架性能的评测,其实我感觉意义都不太大,如果真要频繁调用,那不管xlua还是tolua你都要考虑方案去优化的 阅读全文
posted @ 2017-11-25 05:21 SChivas 阅读(24749) 评论(5) 推荐(10) 编辑
摘要: Unity3D手游可用的高性能战争迷雾(Fog of War)系统实现,含原理分析和详细源代码解析,附带工程包含整套源代码和完整示例工程。模块设计高度解耦,十分容易引入项目或者实现扩展。 阅读全文
posted @ 2017-11-23 01:27 SChivas 阅读(25645) 评论(3) 推荐(14) 编辑
摘要: C/CPP库在windows、Linux、Mac、android、iOS、windows phone等各平台动态库插件编译打包,供Unity3D使用。这里通过可靠UDP网络库kcp在各个平台上的打包来实践一下,含完整构建过程和构建项目,很容易参考这里的步骤举一反三实践到自己的项目当作。 阅读全文
posted @ 2017-11-17 22:58 SChivas 阅读(11423) 评论(1) 推荐(5) 编辑