您当前的位置 : 东北网  >  东北网游戏  >  综合新闻
Cocos2d-x v3.13正式发布打造高效开发新体验
时间 :2016-08-30 13:55:47      来源:多玩游戏      作者:
 

  近日,Cocos引擎完成重大更新:正式推出Cocos2d-x v3.13版本。在新版本里,AudioEngine性能最高提升4倍、支持ETC1 alpha通道、集成AnySDK、增加VR插件、优化Canvas脏矩形算法等等。该版本进一步完善并整合了历史零碎功能,为开发者创造更为简单、快捷的开发环境。

  AudioEngine性能最高提升4倍

  Android平台下,AudioEngine使用OpenSL ES播放声音。从Android 4.2开始,OpenSL ES支持解码声音文件为PCM数据,引擎正是利用这个以特性来缓存解码后数据以提升性能。因此,该性能提升只在Android 4.2及以上版本有效。需要先preload,否则第一次播放性能没有很大提升。

  支持ETC1 alpha通道让游戏运行更流畅

  感谢halx99的贡献,Cocos2d-x支持ETC1 alpha通道,帮助开发者降低纹理占用,从而减少内存占用,让游戏运行更为流畅。

  要想使用ETC1 alpha通道,必须在相同目录下提供xxx.pkm和xxx.pkm@alpha,代码使用方法如下:

  auto sprite = Sprite::create("xxx.pkm");

  引擎会自动去加载xxx.pkm@alpha作为alpha通道数据。更详细的使用方式请参考tests/cpp-tests/Classes/SpriteTest/SpriteTest.cpp里的Sprite1ETC1Alpha测试例子。

  图中蓝色部分就是带alpha通道的ETC1图片

  集成AnySDK实现一站式发布

  AnySDK为CP商提供一套第三方SDK接入解决方案,整个接入过程,不改变任何SDK的功能、特性、参数等,对于最终玩家而言是完全透明无感知的。支持的第三方SDK包括渠道SDK、用户系统、支付系统、广告系统、统计系统、分享系统等。

  你可以通过Cocos包管理器集成AnySDK:

  cocos package import anysdk -p PROJECT_PATH --anysdk

  注:此版本的Cocos包管理器仍为预览版,后续我们会持续优化改进。

  PROJECT_PATH是游戏工程的根目录,比如COCOS2DX_ROOT/tests/cpp-empty-test。通过上面命令后,AnySDK框架就集成到了游戏项目中,可以在代码里调用AnySDK接口接入各种第三方SDK了。AnySDK的详细介绍和使用方法请参考AnySDK官网。

  AnySDK官网://www.anysdk.com/

  增加VR插件集成更为便捷

  Cocos2d-x v3.13目前支持了GearVR、Deepoon、Google Cardboard And Daydream和Oculus,其他SDK也正在陆续添加中。具体的使用方法可以参考以下的项目指引手册:

  //www.cocos.com/doc/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/vr-plugin/zh.md

  Canvas脏矩形算法:提升效率,减少发热

  在v3.12中我们通过重构WebGL渲染器大幅度提升了Web引擎的性能,在这个版本中,我们又实现了脏矩形算法来提升Canvas渲染器的性能。脏矩形算法允许引擎只渲染当前帧中和前一帧不同的区域,而不是渲染整个画布,大大降低填充率,可以同时带来渲染效率的提升以及CPU使用率和耗电量的降低。对于相对静态的游戏画面来说,非常有效。这个功能默认是关闭的,开启它可以通过下面的代码:

  //开启脏矩形算法

  if (cc._renderType === cc.game.RENDER_TYPE_CANVAS) {

  cc.renderer.enableDirtyRegion(true);

  //设置允许用脏矩形算法进行局部渲染的最高脏矩形数量

  cc.renderer.setDirtyRegionCountThreshold(6);

  }

  //检查脏矩形算法是否开启

  var enabled = isDirtyRegionEnabled();

  支持Android 64位应用

  该版本提供了Android 64位的第三方库,因此可以编译出64位的Android应用。可以使用如下命令编译、运行64位Android程序:

  cocos run -p android --app-abi arm64-v8a

  Android切换回gcc 4.9

  Cocos2d-x 3.12时使用了clang编译器,结果发现了崩溃问题。通过测试发现该问题是由于使用clang + gnustl_static造成的,因此该版本切换回使用gcc 4.9。当c++_static稳定后再切换成clang。

  CURL升级到7.50.0

  CURL 7.50.0解决了在NAT64环境连接IPV4地址格式的IP地址错误问题,Cocos引擎也第一时间响应并即时跟进升级了CURL版本。

  其他改动

  更完整的改动列表可以查看Cocos官网。

编辑:孙宇 QQ:14666938 电话:(0451)87116813