优化专题提供优化的最新资讯内容,帮你更好的了解优化。
绘图原理及优化     Cocos2d-x是对不同平台下OpenGL的包装。     具体来说,采用的是OpenGL ES(OpenGL在移动设备上的衍生版本)。OpenGL是一个基于C语言的三维图形API,包括了基本功能:绘制几何图形,变换,着色,光照,贴图等;以及高级功能:曲面图元,光栅操作,景深,shader编程等。           1.状态机模型:OpenGL基于状态进行绘图,是一种状
前几天,Cocos2d-x v3.11 已经发布,除去物理引擎升级,JSB 新内存模型,Tizen 平台支持等亮眼功能外,还有很重要的一点更新是,我们在 Web 引擎上强化了渲染器性能。总的来说,在行业对 WebGL 支持越来越好的背景下,我们大幅度强化了 WebGL 渲染器的实现,让其支持自动批处理渲染。 背景介绍 WebGL 是 OpenGL ES 的 Web 版本,它的诞生就是为了给 Web
一,IOS与图片内存 在IOS上,图片会被自动缩放到2的N次方大小。比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片占用内存大小的计算的公式是;长*宽*4。这样一张512*512 占用的内存就是 512*512*4 = 1M。其他尺寸以此类推。(ps:IOS上支持的最大尺寸为2048*2048)。     二,cocos2d-x 的图片缓存 Cocos2d-
由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化。我们通过如下几个方面考虑优化: 1、不要Alpha通道 背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式,所以RBG565格式比较适合背景图片。 2、拼图 背景图片与其它的图片纹理格式的不同,我们在创建精灵表的时候,没有办法将RBG565格式的背景图片与其它的纹理图片(如:RGBA4444)做在一个精
    针对jpg格式的图片,我使用webp格式进行压缩,但是cocos引擎对图片纹理加载处理比较粗糙,统一按照RGBA8888进行处理的。导致jpg格式文件的内存占用增大了,因为jpg格式是没有alpha通道的,也按照RGBA8888处理就无端增大了内存。我直接加载一个jpg格式纹理,内存占用如下图:     看到这个LoginUI.jpg格式文件占用了2304K的内存,并且bpp为32(bpp
根据开发者的反馈和建议,我们在这个新版本里加大了对 AnySDK H5 平台的支持,让游戏发布更为便捷顺畅;进一步优化了场景切换时的资源内存管理,可有效降低内存占用 20%~50%;同时修复了多项bug,优化了用户体验,相信你一定会在这个新版里找到不少惊喜。 增加 AnySDK H5 支持,单渠道接入只需 5 分钟 在「构建发布」界面的移动端 Web 平台上,我们添加了一个 AnySDK 的选项,
description: 为什么要谈纹理的问题,游戏的画面无时无刻不充斥着图像,通俗意义上一款精致的游戏都有着非常精美的画面,这样往往能给玩家带来更好的游戏体验,这一点也是对于游戏制作者来说所尽力追求的,但是无奈有CPU和GPU的限制,手持设备上的硬件资源就更窘迫一些了,如何处理好图片资源,往往能给游戏提供更大的扩展空间,从画面上给游戏加分。 为什么要谈纹理的问题,游戏的画面无时无刻不充斥着图像,
内存优化的原理:尽小化的应用的纹理内存使用 优化途径:切勿过度优化,根据实际需求权衡图像质量和图像内存使用 cocos 中可以优化的内存:三部分,纹理优化-------纹理格式的压缩   音频优化----------音频文件数据格式,比特率,采样率,尽量使用map3 字体和粒子效果的优化 优化技巧: 一帧一帧载入游戏资源, 减少绘制使用,可使用ccbatchnode 避免高峰内存使用 需要实时释放
Creator有个本地化的示例项目i18n-example,LabelLocazlized组件可以根据当前语言读取相应的文字。可是使用过程中发现一个很不方便的地方是:用到的文字往往在我们做界面的时候才定下来,根本没写到对应语言文件(如zh.js)中。意味着我们要来回切换代码编辑器、Creator编辑器才能新加、修改文字。很不爽,得优化下。 需求 我们希望是直接在Creator编辑器中新加字段、修改
      在游戏开发的中后期所有的团队基本都会遇到两个通性问题:卡顿和崩溃。造成卡顿也就是掉帧的原因主要是CPU计算量和GPU渲染压力过大。造成程序崩溃的原因基本也是两种情况,一种是代码错误造成的崩溃,另一种是我们主要讨论的内存过高造成的崩溃。下面就对游戏中遇到的这两个问题进行讨论,讨论的游戏主要是针对2D游戏,当然很多情况是2D和3D游戏中共同存在的。 1.载入纹理时按照从大到小的顺序,并且分
关于游戏的优化的文章已经非常多和详尽了,包体大小、合图压缩、音频压缩等,所有的优化都是围绕着cpu和gpu开展。 目前的硬件水平足以支持大部分非3D游戏,drawcall的场景基本上不会有超过一百的情况,2D游戏的顶点数基本上可以忽略。 一.内存优化 1.内存泄漏 在最近的项目中使用了C11的智能指针,经过一年的使用证明这是不是一个成功的选择。虽然已经没了自己管理的烦躁,但是增加了内存泄漏的几率。
原文链接: http://www.cocoachina.com/bbs/read.php?tid-214811-page-1.html pvrtc 和 etc是硬件支持的格式,因此,不会进行内存和显存解码,将会省许多 同时,由于不会解码,那CPU到GPU的传输量就会变少,在手机平台这种总线带宽小的设备上,可以得到一定量的性能提升。 但pvrtc只适合IOS,etc适合android, 需要做两个平
description: 为什么要谈纹理的问题,游戏的画面无时无刻不充斥着图像,通俗意义上一款精致的游戏都有着非常精美的画面,这样往往能给玩家带来更好的游戏体验,这一点也是对于游戏制作者来说所尽力追求的,但是无奈有CPU和GPU的限制,手持设备上的硬件资源就更窘迫一些了,如何处理好图片资源,往往能给游戏提供更大的扩展空间,从画面上给游戏加分。 为什么要谈纹理的问题,游戏的画面无时无刻不充斥着图像,
Cocos2d-x精灵的性能优化-使用纹理图集和精灵帧缓存 使用纹理图集 纹理图集(Texture)也称为精灵表(Sprite Sheet) 使用纹理图集的优点: 1、减少文件读取次数,读取一张图片比读取一推小文件要快 2、减少OpenGL ES绘制调用并且加速渲染 OpenGL ES 1.1仅仅能够使用2的n次幂大小的图片(即宽度或者高度是2、4、8、64…)。 如果采用小图片OpenGL ES
了解老码农个人隐私,请看这里:http://www.koulianbing.com/?page_id=12 流行的AJAX架构都是由Browser下载一个模板,然后发起AJAX请求JSON数据,数据回来后填充模板并展现给用户。可以有这么几种优化方式 1、把AJAX请求完全放在后端完成,Browser直接加载一个静态页面。虽然很极端、很暴力,但在2G/3G环境下用户的体验可以得到很大提升。 2、合并
作者简介: 陈志兴,腾讯 SNG 增值产品部高级工程师,主要负责手 Q 个性化业务、手 Q WebView 等项目。喜欢阅读优秀的开源项目,听听音乐,偶尔也会打打竞技类游戏。 本文根据作者在 2017GMTC 全球移动技术大会的上分享的 ppt 整理: http://ppt.geekbang.org/slide/download/862/593b7cecd6ce2.pdf/19 特别感谢卢景伦(腾
 作者简介: 陈志兴,腾讯 SNG 增值产品部高级工程师,主要负责手 Q 个性化业务、手 Q WebView 等项目。喜欢阅读优秀的开源项目,听听音乐,偶尔也会打打竞技类游戏。 本文根据作者在 2017GMTC 全球移动技术大会的上分享的 ppt 整理: http://ppt.geekbang.org/slide/download/862/593b7cecd6ce2.pdf/19 特别感谢卢景伦(
我更新了我的“老”Objective-C应用程序以使用大小类的新故事板,将部署目标设置为iOS 8,并将新的二进制文件上传到App Store.尽管如此,App Store并没有显示“这个应用程序针对iPhone 6和6 plus进行了优化”的文本.该文本仅提及iPhone 5S和以下所有内容. 为了让iPhone 6获得批准,我应该做什么? 该解决方案是为所有使用的图像添加@ 3x版本,并使用新
我的应用程序没有针对iPad进行优化,但在iOS 7之前,UIActivityViewController工作正常(两种设备上的行为相同). 我的意思是,它现在有效,但有些图标很奇怪,有些图标缺失. 截图: 我用这种方式呈现UIActivityViewController: [self presentViewController:viewController animated:YES comple
我正在添加几个CALayers作为UIView层的子层.每层的内容是从服务器下载的不同图像.每个图层从屏幕外动画到随机生成的位置.图像数据是异步下载的.每幅图像约为300×300或更小. 作为随机放置的结果,层重叠,一些层被它们上面的层遮挡.这一切都很好. 我正在使用the answer to this question中的建议删除图层,因为它们变得完全被遮挡.确定覆盖率的计算发生在单独的线程上.