cocos2dx 优化略记

缓存cache: 预加载资源到内存, 可以异步加载.  直接使用sprite:create()来加载资源的话,  有时候会发现,  在第一次运行动作的时候会变的很卡.  那是因为第一次要加载资源到内存,  加载资源到内存这个过程会比较的慢.  资源较大的话, 明显的会感觉到卡帧

批次渲染: 100个相同的图片,  你可以使用100个sprite来做, 也可以使用一个批次渲染.  这个的用途就是对于大量相同图片的处理

资源放在一个图片上面: 对于opengl es, 应该尽量减少渲染时切换纹理和glDrawArray调用.  每画一个图像都会切换一次纹理并调用一次glDrawArray(), 所以尽量把资源往一个图片上放, 可以使用TexturePacker将资源合成到一张图片上面

时间: 2024-10-13 21:36:54

cocos2dx 优化略记的相关文章

iOS略记小功能

在我们进行开发工程的时候,有些小的功能能提高用户的体验,但是这些小的功能记忆起来比较麻烦,很容易忘记,在这里我整理一下自己使用过的小功能罗列出来. 一.项目在设备上得图标及名称的设定 1).图标:在项目中把你想要用得项目图标添加到项目中并且改名为icon(必须为png格式). 2).名称:在项目的Info.plist文件中有Key为Bundle display name一行的Value值改为自己所需要的名称即可 二.在程序启动还未进入程序起始界面前展示的Image 在工程选项中的General中

Cocos2d-x优化中图片优化

在2D游戏中图片无疑是最为重要的资源文件,它会被加载到内存中转换为纹理,由GPU贴在精灵之上渲染出来.它能够优化的方面很多,包括:图片格式.拼图和纹理格式等,下面我们从这几个方面介绍一下图片和纹理的优化.1.选择图片格式要回答这个问题,我们需要先了解一下目前在移动平台所使用的图片文件格式,以及这些图片格式Cocos2d-x是否支持.图片格式有很多,但是在移动平台主要推荐使用的PNG,JPG也可以考虑,而其它的文件格式最好转化成为PNG格式.我们先了解一下它们的特点.1.PNG文件PNG文件格式设

Cocos2d-x优化中关于背景图片优化

由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化.我们通过如下几个方面考虑优化:1.不要Alpha通道背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式,所以RBG565格式比较适合背景图片.2.拼图背景图片与其它的图片纹理格式的不同,我们在创建精灵表的时候,没有办法将RBG565格式的背景图片与其它的纹理图片(如:RGBA4444)做在一个精灵表,所以基于格式的考虑我们可以将多个背景放置在一个精灵表中的,但是要注意这个精灵表拼接成的大图文件不能太大

Cocos2d-x优化中纹理优化

1.纹理像素格式纹理优化工作的另一重要的指标是纹理像素格式,能够最大程度满足用户对保真度要求的情况下,选择合适的像素格式,可以大幅提高纹理的处理速度.而且纹理像素格式有与硬件有这密切的关系.下面我们先了解一下纹理像素的格式,主要的格式有:RGBA8888.32位色,它是默认的像素格式,每个通道8位(比特),每个像素4个字节.BGRA8888.32位色,每个通道8位(比特),每个像素4个字节.RGBA4444.16位色,每个通道4位(比特),每个像素2个字节.RGB888.24位色,没有Alpha

转 cocos2d-x 优化(纹理渲染优化、资源缓存、内存优化)

概述 包括以下5种优化:引擎底层优化.纹理优化.渲染优化.资源缓存.内存优化 引擎优化 2.0版本比1.0版本在算法上有所优化,效率更高.2.0版本使用OpenGl ES 2.0图形库,1.0版本使用OpenGL ES 1.0. 纹理优化 纹理是最消耗内存的,而且会降低渲染速率. 二的幂次方 OpenGL在申请内存存放纹理时,是按2的幂次方申请的,即对应480*320的图片,它申请的是512*512空间.可见,会有相当多的内存被浪费.所以,我们设计的图片,最好是2的幂次方,不然OpenGL最终还

Cocos2d-x优化中多线程并发访问

多线程并发访问在Cocos2d-x引擎中用的不是很多,这主要是因为中整个结构设计没有采用多线程.源自于Objective-C的Ref对象,需要使用AutoreleasePool进行内存管理,AutoreleasePool是非线程安全的,所有不推荐在子多线程中调用Ref对象的retain(). release()和autorelease()等函数.另外,OpenGL上下文对象也是不支持线程安全的.但是有的时候我们需要异步加载一些资源,例如:加载图片纹理.声音的预处理和网络请求数据等.如果是异步加载

Cache命中:性能优化实记之Cache命中对CPU运行性能的影响

情景描述 先上代码: code1: void Graph::shufle(int cnt) { for (int i = 1; i<cnt; i++) { unsigned int swid = fastrand() % (cnt-i) ; std::swap(iCons[cnt - i], iCons[swid]); std::swap(jCons[cnt - i], jCons[swid]); std::swap(dCons[cnt - i], dCons[swid]); std::swap

网页元素居中攻略记_(6)图片水平垂直居中

前言 借助table的特性来实现 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css" media="screen"> .test{ display:table; heigh

网页元素居中攻略记_(1)元素水平居中

行内元素水平居中 方案 行内元素包裹在一个属性display为block的父层元素中,父块text-align:center即可实现 代码实现 index.html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>行内元素水平居中</title> <style type="text/css