cocos.js文件能否进一步分离实现更快的首屏渲染?

我这边的业务场景大部分是H5,我希望能更快的实现首屏(带极简业务逻辑的首屏)渲染,现在有两种方案,纯Web实现首屏或用其他Canvas库实现首屏。

纯Web方式的缺点是大多数游戏开发不会这些东西,用其它Canvas库来写的话,学习成本是一方面,首包体积又多了一个库。

所以能否将cocos.js的部分渲染能力分离出一个极小的提前包(最好能在50K以下,越小越好),用于首屏渲染,加速用户打开H5游戏的响应速度,同时能使用Creator的编辑器能力?

@jare

1赞

确实挺难受,2.x时代就是如此。做了两个项目为了提升首屏速度,都是用webgl手撸第一个界面,样子和cc做的欢迎页一模一样做衔接,需要额外的开发时间。

搞H5的人有些少呀,关注的人比较少,官方会有一些支持吗,不然只能自己想办法了
@EndEvil @panda

2.x 可以在打包后 用html写个loading 改main.js设置进度 ,3.x就不行了 ,我们公司也是用cocos做h5的 前面加载确实会等上2s的时间 目前只能被动解决,把loading页第一帧截出来 cocos加载完毕开始走进度的时候 隐藏第一帧截图…不是办法的办法

我觉得改引擎难度会更大,而且这种业务需求场景很小,引擎分离了一个更小的提前包,只是为了让用户更早看到Loading页,最终都是要完整加载好引擎才能完整进行游戏的。

建议换个思路,从纯前端角度去处理这个问题。用户首次加载 的index.html,这里面实现一个加载中的效果,改造一下把加载引擎代码改为异步执行,这样首屏加载速度取决于index.html的大小,几KB,很快的。

另外不需要所有人掌握这项技能,可以通过对构建打包过程进行处理,自动替换index.html文件就好啦

这个东西对你们很重要,这并不难,相信你可以很好处理的

你看我上面说的,其实应该能明白,我需要的不是一个简单的loading

你想要的不是更快的首屏渲染么?

我需要有意义的首屏,loading没有意义

怎么定义这个有意义的首屏加载?引擎部分功能加载完成?

引擎没有完全加载,不能交互,都算无意义的吧?

同道中人啊。
官方说过会进一步分割模块,但是并不是优先任务。他们的todolist已经很多了。
现在我们能做的也只有loading用css开发。
你现在找到更好的解决办法了吗?

我想象中的分离优化,大致意思是ui和canvas渲染分离。ui管理界面用类似vue或者wx小程序原生的spa写法,资源消耗低,加载速度快,逻辑清晰,同时异步加载引擎文件,具体进入游戏时才正式进入引擎的生命周期。这样理论上首屏时间可以进入几十毫秒级,算上图片也就百毫秒级,而从首屏到进入管理页面到正式开始游戏的这段时间总得有个几秒到十几秒的时间吧,这段时间里把引擎和资源加载好就行。