mirror of https://github.com/axmolengine/axmol.git
3.7 KiB
3.7 KiB
Table of Contents generated with DocToc
v3.12
新特性
- 支持VR,目前还处于测试阶段
- 支持Tizen平台
- 提升引擎在Android平台的渲染效率
- 提升Cocos2d-html5 WebGL模式的性能
- 支持Android的OBB扩展格式
- Android平台使用clang编译器,使用NDK r11+
主要特性的详细介绍
VR支持
该版本添加了VR支持,不过还处于测试阶段。目前支持的设备有__Google Cardboard__,Oculus Rift,Samsung Gear__和__Deepoon E2。关于如何使用、测试VR功能,请参考Programming Guide。
Tizen支持
该版本添加了Tizen平台的支持。支持的TizenSDK版本是__2.4__。开发Tizen平台应用时,需要使用Tizen平台有自己的IDE和模拟器。请参考这篇文档了解如何搭建Tizen应用开发环境。
提高Android渲染效率
这里要多谢社区的开发者帮忙在各种Android设备上测试、验证性能问题。这个问题的原因是因为引擎默认创建了一个比较大的map buffer,实际需要传到该map buffer的数据并没有那么多。但是在有些Android设备,不管实际数据大小是多少,每次都传输和map buffer大小一样多的数据。
通过代码解释如下:
// 初始化map buffer
glBindBuffer(GL_ARRAY_BUFFER, BUFFER_ID);
glBufferData(GL_ARRAY_BUFFER, 65536, xxx , GL_DYNAMIC_DRAW);
具体使用map buffer的代码是
// 实际使用map buffer
glBindBuffer(GL_ARRAY_BUFFER, BUFFER_ID);
// 虽然只需要传输100个元素,但是在某些Android机器上仍然传输65536个元素
glBufferData(GL_ARRAY_BUFFER, 100, xxx , GL_DYNAMIC_DRAW);
详细的讨论可以参考这个github issue。
提升Cocos2d-html5引擎WebGL模式下的性能
该版本大幅提升了Cocos2d-html5引擎在WebGL模式下的性能。引擎的渲染性能、CPU使用量和内存大小都有提升。
Android使用clang编译器
从NDK r11开始Google弃用了gcc,所以cocos2d-x也切换到clang编译器。
建议使用NDK r11c。在测试过程中发现,如果使用NDK r10c + clang的话,Node::enumerateChildren()
会崩溃。
其他改动
更完整的改动列表可以阅读full changelog。