- 博客(5)
- 资源 (15)
- 收藏
- 关注
原创 手游优化方法汇总
一、CPU性能优化1、减少重复计算换高效的算法避免多次运算, 例如减少循环中计算利用空间换时间,将常用运算结果缓存2、合理使用数据结构不同数据结构的增删改查消耗得性能是不同的,合理利用数据结构,避免计算上的浪费。3、减少复杂调用将轮询方式修改为事件驱动,比如将在update中状态监听,改为事件触发将节点递归更新修改为有效路径更新,例如UI树不同对象和状态有不同的逻辑帧数,比如小兵的逻辑
2016-09-27 17:17:14 3049
原创 灰度图、高度图和法线贴图
灰度图某点的颜色为P(R,G,B),灰度计算方法:浮点算法:Gray = R*0.3+G*0.59+B*0.11;整数方法:Gray = (R*30+G*59+B*11)/100;移位方法:Gray = (R*76+G*151+B*28)>>8;平均值法:Gray =(R+G+B)/3;仅取绿色:Gray = G;则点P在灰度图中的颜色为(Gray,Gray,Gray)高度图高度图一般是
2016-09-19 16:53:42 8240
原创 Lua热更新原理及示例
网上有不少Lua热更新的文章,都只说了理论,被没有给出实际可操作的代码,下面是我写的几个例子。热更新原理Lua的 require(modelname) 把一个lua文件加载存放到package.loaded[modelname]。 当我们加载一个模块的时候,会先判断是否在package.loaded中已存在,若存在则返回改模块,不存在才会加载(loadfile),防止重复加载。 package
2016-09-08 17:30:34 44159 1
原创 cocos2dx的渲染流程(源码走读)
注意: 为了流程更加清晰,以下代码片段都是删除了其他无关的代码,只保留了与流程相关的函数调用。1 main 中调用 run:int main() { AppDelegate app; return Application::getInstance()->run();}2 Application 中调用 mainLoop :int Application::run(){
2016-09-07 17:38:09 1522
原创 全局变量危害小结
全局变量危害小结长期占用内存全局变量生命周期长,程序运行期一直存在,始终占有那块存储区;难以定位修改全局变量是公共的,全部函数都可以访问,难以定位全局变量在哪里被修改,加大了调试的难度;使函数理解使用全局变量的函数,需要关注全局变量的值,增加了理解的难度,增加了耦合性;初始化顺序全局变量的初始化顺序不定,如果全局变量之间有依赖,有可能导致某些变量初始化失败呢,引起莫名其妙bug。污染命名空间全局变量
2016-09-07 16:15:01 7116
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人