139-8950-0275

绍兴云远网络热线
首页 >> 小程序 >>小程序专业知识 >> 小游戏除了首屏启动优化,我们还需要注意什么?-绍兴网络公司为你呈现
详细内容

小游戏除了首屏启动优化,我们还需要注意什么?-绍兴网络公司为你呈现

时间:2020-09-24     作者:绍兴网络公司【转载】   来自:高校微信小程序开发大赛

做好了小游戏首屏启动优化的你,请务必“细品”这最佳实践呀!从性能、内存优化、调试、Adapter到使用游戏引擎,每一个板块都为你娓娓道来!



1


性能

✔垃圾回收

每个客户端实际纹理储存的回收时机依赖于JavaScript中的Canvas、Image对象回收。通过调用wx.triggerGC()方法可加快触发垃圾回收,释放对应的实际纹理储存。

由于GC具体触发时机还要取决于JavaScriptCore自身机制,并不能保证调用wx.triggerGC()能马上触发回收,建议在每局游戏开始或结束触发一下。


✔混合渲染模式

在一些混合渲染模式的游戏中,游戏场景使用了WebGL的模式渲染,但是一些GUI以及 排行榜 等内容会使用 canvas 2d 的模式渲染。

(温馨提示:该方法仅支持 iOS 6.6.6 以上版本,Android/开发者工具暂不支持。)


2

内存优化


✔管理机制

Android:内存分为系统和V8两块,两者均沿用了系统原有的内存管理机制。

iOS:小游戏在iPhone上是沿用了iOS系统的内存管理机制。


✔分析手段和工具

性能监控面板:在监控不同内存的占用情况,还通过不同内存的变化趋势来判断是否有内存泄漏的情况。为了排除GC延迟的影响,可点击开发调试中的Request Force GC

Heap Snapshot:根据提示操作在微信开发者工具中的调试器的Memory中,Load拷贝出来的文件便可查看V8的内存快照。

V8-CPU-Profile:根据提示操作可查看 CPU 的使用情况。

(温馨提示:以上功能在微信Android7.0.7版本及以上的小游戏开发版和体验版中均已提供)


3


调试

✔vConsole

如需查看console API输出的日志内容和额外的调试信息,需要在点击屏幕右上角的按钮打开的菜单里选择「打开调试」。此时小程序/小游戏将会退出,重新打开后会右下角会出现一个vConsole按钮。点击按钮即可打开日志面板。

(温馨提示:尽量避免在非调试情景下打印结构过于复杂或内容过长的日志内容(如游戏引擎中的精灵或材质对象等),可能会带来额外耗时。)


✔Source Map

小游戏在打包时,会将所有js代码打包成一个文件,为便于开发者在手机上调试时定位错误位置,小游戏提供了Source Map支持。

(温馨提示:该方法仅支持iOS 6.7.2及以上版本。)


真机调试

可实现直接利用开发者工具,通过网络连接,对手机上运行的小程序进行调试,帮助开发者更好的定位和查找在手机上出现的问题。


4

Adapter


基于浏览器环境的游戏引擎在小游戏运行环境下的一层适配层,使游戏引擎在调用DOM API和访问DOM属性时不会产生错误。每位开发者都可以根据自己的项目需要实现相应的Adapter。


5


使用游戏引擎

小游戏是一个不同于浏览器的JavaScript运行环境,没有BOM和DOM API。然而,基本上所有基于HTML5的游戏引擎都是依赖浏览器提供的BOM和DOM API的。所以如果要在小游戏中使用引擎,需要对引擎进行改造。


目前,Cocos、Egret、Laya已经完成了自身引擎及其工具对小游戏的适配和支持。Unity目前还没有对小游戏进行适配。不过小游戏提供了对大部分Canvas 2d和WebGL 1.0特性的支持,有能力的开发者可以尝试自行适配。


除了小游戏平台的游戏引擎,开发者如果想用其他HTML5游戏引擎来开发小游戏也是可以的,但需要对齐进行修改。建议先引入通用的Adapter尝试运行,再把遇到的问题逐个解决。

image.png


最后,温馨提示各位小游戏赛道的同学们,小游戏作品提交时间截止为:6月30日晚9:00整!还未提交作品的同学可要抓紧时间哟~


点击阅读原文解锁更多小游戏“最佳实践”

阅读原文


技术支持: 杭州云远科技有限公司 | 管理登录
seo seo