游戏放着不动,两小时之内必定假死一次

打包成web-mobile,然后用electron运行,这个没多大关系,具体看最后
1.放着不动,是游戏自己运行,类似挂机吧。
2.为什么是假死,渲染都不动了(给人的感觉是卡死了),但js代码还在跑(这个我通过HTTP向服务器定时发送请求发现,HTTP一直在发,服务器也一直有收到)
因为一直找不到问题,我把vconsole打开,假死后,vconsole是打不开的,没办法,我移植到egret,这个移植是不修改任何游戏逻辑的情况(游戏不大,就一个界面)。 我曹,运行很稳定,挂着一天一夜(最长三天两夜,我五一测试的,更长的时间还没测试过)没问题。
连续挂多天,不奔溃,不假死,这是我的诉求
@panda @jare

版本 3.4.2
1.cocos creator版本我五一前跑过三天,平均2小时必定假死一次,触发原因不详。
2.egret版本是五一期间跑的,最长挂过三天两夜(再长应该也没问题),是我手动重启的。

假死持续多久?假死期间资源占用正常吗?假死(恢复)后游戏正常吗?用 Chrome 试试?

1.假死后就一直是假死状态
2.资源占用没有变化
3.都假死了,怎么会正常
4.Chrome没试过

你们随便找一个用3.4.2版本的做的demo, 挂着放2个小时(注意不要切到后台,保持前台运行),然后再回去看看。不占用你们时间,只要2个小时时间到了,再去这台电脑上面看看就行。

2小时后见

2赞

手头没有 Electron 打包的游戏,我们也用 Chrome 试试,两小时后见

搞点图片上去,界面内随机位置生成一个图片,移动到界面内的随机一个点,然后销毁。 每隔100(这个随便,1秒也行)毫秒生成一个。

不能像楼上,只搞了一个文本倒计时。搞点图片上去,界面内随机位置生成一个图片,移动到界面内的随机一个点,然后销毁。 每隔100(这个随便,1秒也行)毫秒生成一个。

直接把你必现的demo丢给他

如果是demo我就发给他了

蹲一下 :crazy_face:

重置2小时

有一段时间我也是被这个问题困扰了很久,目测cocos不适合长时间挂机,看来得学下egret了。我本身也是测试了这个cc不适合生产环境,无论2.4.x还是3.x,文明点用“有待提高”来形容

我刚想@你

//每隔100毫秒随机生成一个prefab 随机移动 然后销毁

    setInterval(function () {

        let inst = instantiate(prefab_ball);

        let x = (Math.random() > 0.5 ? 1 : -1) + Math.random() * 320;

        let y = (Math.random() > 0.5 ? 1 : -1) + Math.random() * 568;

        inst.setPosition(new Vec3(x, y, 0));

        self.node.addChild(inst);

        let endX = (Math.random() > 0.5 ? 1 : -1) * Math.random() * 320;

        let endY = (Math.random() > 0.5 ? 1 : -1) * Math.random() * 568;

        tween(inst)

            .to(2, { position: new Vec3(endX, endY, 0) })

            .call(function () {

                inst.destroy();

            })

            .start();

    }, 100);

是的,只是没有截动画,大概两秒会销毁重新生成一次

只可惜。egret快凉透了。

只要让用户每两个小时让他重新启动一次就可以解决

:joy: