基于boost.asio网络模块和protobuf通信描述的RPC实现

一个简单的RPC实现,github:https://github.com/shinepengwei/miniRPC

Published: 08 Jun 2015

Boost.Asio库

Boost.Asio封装了一个io异步调用接口,可以用于实现网络通信操作。Asio提供了IO服务接口,I/O 服务抽象了操作系统的接口,允许第一时间进行异步数据处理,而 I/O 对象(通过IO服务创建,比如Socket)则用于初始化特定的操作。

Published: 08 Jun 2015

GLProgram使用不当导致的内存泄漏

GLPogramState保存GLProgram的状态(uniforms和attributes)。一个GLProgram可以被多个node使用,但是如果shader中使用uniform值,那么每个节点都需要拥有自己的GLProgramState。

Published: 01 May 2015

Action更新机制

游戏中希望实现人物移动分为三个过程:加速、匀速、减速。而匀速又由于可能改变方向,匀速要分为多段。

Published: 01 May 2015

IOS中的memory warning处理

游戏中在内测阶段出现了一些很奇怪的问题,这些问题在开发阶段从来没有遇到过,主要表现在创建一个sprite创建失败。刚开始我们也一头雾水,因为创建这些sprite的时候内存使用很低,有的才几十M,按说不应该出现内存问题,后来测试发现确实是ios系统发送给游戏memory warning,调用didReceiveMemoryWarning函数,cocos中处理memory warning的默认方法是调void Director::purgeCachedData(void)函数,此函数的主要工作是将内存中没有使用的texture和spriteFrame删掉。

Published: 01 Apr 2015

工程/编译配置文件解析

在vs以及xcode这种IDE,他们的工程文件都包括了编译信息以及相关的配置信息,其实如果不用vs的话,也需要生成一个编译信息文件,如android.mk等。

Published: 10 Mar 2015

Create Msbuild Helloworld

从头创建MSBuild项目文件

Published: 10 Mar 2015

使用snapshot检测Lua中的内存泄露

本文使用云风大大写的内存泄露检测工具:http://blog.codingnow.com/2012/12/lua_snapshot.html,主要介绍此工具如何使用。

Published: 01 Mar 2015