Cocos Creator v1.6支持Camera剔除功能!

赞赏 2017-08-23

众所周知,当处理大型游戏时,一个场景中可能会同时存在几百上千个渲染对象,但是这些渲染对象却不一定都在屏幕中出现。而渲染一个对象是比较耗时的,如果我们能把这些不在屏幕中的渲染对象从渲染列表中剔除,性能势必能得到很大的提升。


假如我们在场景使用了 100个精灵,但是目前只有50个精灵出现在屏幕中,剩余的 50个精灵玩家是看不到的,那么我们就没有必要花时间在这一帧上对这50个精灵进行渲染,这样就可以省下一半的性能来处理其他事情。

Cocos Creator逐步支持了比较常用的组件的剔除功能,比如Sprite、Label、RichText、DragonBones。一个游戏的表现基本上都是这些渲染组件组合而成的,如果能做到支持这些组件的剔除功能,游戏开发过程基本够用了。其他的渲染组件,比如粒子效果、绘画组件的剔除功能目前还没有进行支持,后续我们可以根据需求再进行讨论。


引擎团队早在v1.5版本就添加了Camera组件,而在上周刚正式发布的v1.6版本中则进一步完善了各组件在使用Camera组件情况下的剔除功能支持。假如我们在场景中使用了Camera组件,那么剔除功能将会按照Camera组件的视口来进行剔除。


测试例

这些渲染组件的剔除功能我们可以在example_cases/culling中找到相关测试。

支持剔除功能的组件我们在生成相关对象的时候可以观察到GL calls的变化,而不支持剔除功能的组件GL calls则不会发生变化。




从这两幅图中可以看到GL calls是完全不一样的。

点击Enable Camera则可以测试在使用摄像机的情况下剔除功能是否仍然正常。


TiledMap

之前经常有小伙伴反馈说webgl情况下的Tiled Map使用了Camera后有些地方看不到,这个问题在v1.6版本中得到了很好的修复。

目前TiledMap只在web平台有剔除功能,native平台上由于还是沿用老的TiledMap实现,使用SpriteBatchNode作为渲染实现。不过native平台的TiledMap,引擎团队正在考虑沿用web平台的实现方式进行重现,届时剔除功能可以一并实现。

还未尝试这个功能的小伙伴不妨进入下载Cocos Creator v1.6正式版,我们期待更多有效的反馈。

登陆后阅读全文
阅读 2298 赞赏 0 有用 5 没用 0 收藏 0 分享

   



0 条留言

相关文章

教程:Cocos Creator如何给资源打上MD5版本号?

教程|如何在Cocos Creator v1.5中集成 Pomelo?

看 Nantas手把手为你详解 v1.5资源导入导出工作流程

Cocos Creator v1.6使用体验Q&A

教程|如何在Cocos Creator 中完美使用 protobuf.js

Cocos Creator可以用来开发大型MMO吗?

Cocos Creator 开源游戏集合贴 (源码 视频 在线统统有)

【Cocos Creator与C++知识分享】AnySDK打包微信登录、微信分享

干货|Cocos Creator Zip压缩文件读取分享

直播回顾:Cocos Creator四川麻将源码讲解

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

低内存占用、无广告、功能强大又唯美的本地播放器 - Potplayer

从零开始手把手带你全面认识 网易的游戏服务端框架 Pomelo

推荐一款上线 Cocos商店的付费插件——可视化状态机

手把手教你如何优化cocos2d-x手游内存

「新手向」用Cocos Creator也可以轻松做阿拉斗牛

Cocos Creator v1.6支持Camera剔除功能!

Cocos Creator v1.6使用体验Q&A

Cocos Creator可以用来开发大型MMO吗?

教程:Cocos Creator如何给资源打上MD5版本号?

「教程」如何在Cocos Creator中优化首页打开速度

手机扫一扫
分享文章