大家都知道一个游戏里面会有大量的图片,每一个图片渲染是须要时间的,以下分析两个类来加快渲染速度,加快游戏执行速度          一.SpriteBatchNode          1.先说下渲染批次:这是游戏引擎中一个比較重要的优化指标,指的是一次渲染凋用. 也就是说,渲染的次数越少,游戏的执行效率越高. 2.SpriteBatchNode就是cocos2d-x为了减少渲染批次而建立的一个专门管理精灵的类. 有人会问.怎么高速知道究竟渲染了多少次了.告诉你吧,游戏左下角有三行数据:    …
----我的生活,我的点点滴滴! ! 大家都知道一个游戏里面会有大量的图片.每一个图片渲染是须要时间的,以下分析两个类来加快渲染速度.加快游戏执行速度 一.SpriteBatchNode 1.先说下渲染批次:这是游戏引擎中一个比較重要的优化指标,指的是一次渲染凋用.也就是说.渲染的次数越少,游戏的执行效率越高.怎么看这个次数了?GL calls的值,以下会讲到. 2.SpriteBatchNode就是cocos2d-x为了减少渲染批次而建立的一个专门管理精灵的类. 有人会问,怎么高速知道究竟渲染…
http://blog.csdn.net/epeaktop/article/details/26730909中已经说明了程序的设计,让我们来看看在cocos2dx 3.0中代码是怎样实现的. void Sprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) { // Don't do calculate the culling if the transform was not updated…
COCOS2DX 3.0 优化提升渲染速度 Auto-batching 近期在看COCOS2DX 3.0的Auto-batching合批与Auto Culling动态缩减功能以下就来细致看看吧:整合好的渲染提速干货: 简单介绍 在游戏的绘制渲染中.往往消耗非常多资源和内存,当绘制精灵数量越多,游戏的卡顿会非常明显,为了优化和提升渲染效率. Cocos2d-x为我们提供了Auto-batching和SpriteBatchNode. Auto-batching 意思是Renderer将多次draw的…
认识着色器 理解OpenGL渲染管线,对于学习OpenGL非常重要.下面是OpenGL渲染管线的示意图:(图中淡蓝色区域是可以编程的阶段) 此图是从wiki中拿过来的,OpenGL的渲染管线主要包括: 准备顶点数据(通过VBO.VAO和Vertex attribute来传递数据给OpenGL) 顶点处理(这里主要由Vertex Shader来完成,从上图中可以看出,它还包括可选的Tessellation和Geometry shader阶段) 顶点后处理(主要包括Clipping,顶点坐标归一化和…
说明:这里是借鉴:晓风残月前辈的博客.他是将泰然网的跑酷教程.用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 在这一步.我们主要是把主角增加到游戏场景中来,并且让它跑动,这里的跑动,实际上也就是运行一组动画,让其看起来像是在跑动,并且相对屏幕的位置也不会改变 我们会定义一个主角类:Runner.而这一步就要用到 帧动画 的创建和使用等知识点. 对于Runner,我的设计思路例如以下: 1.主角有一个动作集合…
cocos2d-x 3.0 中全部对象差点儿都能够用create函数来创建,其它的创建方式也是有create函数衍生. 以下来介绍下create函数创建一般对象的方法,省得开发中常常忘记啥的. 1.精灵Sprite的4种创建方式 (1)依据图片资源路径来创建 //依据图片路径来创建 auto sprite1 = Sprite::create(filepath); //依据图片路径来创建,并设置要显示的图片大小 auto sprite2 = Sprite::create(filepath,Rect…
Cocos2d-x从2.x版本号到上周刚刚才公布的Cocos2d-x 3.0 Final版,其引擎驱动核心依然是一个单线程的"死循环".一旦某一帧遇到了"大活儿",比方Size非常大的纹理资源载入或网络IO或大量计算,画面将 不可避免出现卡顿以及响应迟缓的现象.从古老的Win32 GUI编程那时起,Guru们就告诉我们:别堵塞主线程(UI线程),让Worker线程去做那些"大活儿"吧.   手机游戏,即便是休闲类的小游戏,往往也涉及大量纹理资源.…
Cocos2d-x 3.0 加入了rapidjson库用于json解析.位于external/json下. rapidjson 项目地址:http://code.google.com/p/rapidjson/wiki:http://code.google.com/p/rapidjson/wiki/UserGuide 下面就通过实例代码讲解rapidjson的用法. 使用rapidjson解析json串 引入头文件 1 2 #include "json/rapidjson.h" #inc…
使用Cocos2d-x 3.0开发游戏之后,发现游戏在android手机上发热非常严重,在魅族2上,几乎担心手机会爆炸了~~~采取的一个措施就是降低帧率,因为游戏对于帧率要求不是非常高. 做过cocos2d开发的同学应该都知道在win32平台修改帧率的方式非常简单,就是在AppDelegate.cpp文件中修改: director->setAnimationInterval(); 但是这种修改方式在导出android安卓apk到真机测试的时候,发现左下角的调试信息还是现实60~65帧,完全不受影…