加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于cocos2dx在android设备黑屏或者纹理黑块的两种情况

发布时间:2020-12-14 16:49:40 所属栏目:百科 来源:网络整理
导读:最近项目中遇到图片出现黑块的情况,主要表现为: 支付回到游戏后,部分纹理在部分机型上出现黑块。 google了一下,大多数给的答案是:在老版的cocos2dx引擎中,当前游戏的Activity跳转到支付,执行了onpause后,会卸载当前纹理,当回到游戏的Activity,执行on

最近项目中遇到图片出现黑块的情况,主要表现为:支付回到游戏后,部分纹理在部分机型上出现黑块。

google了一下,大多数给的答案是:在老版的cocos2dx引擎中,当前游戏的Activity跳转到支付,执行了onpause后,会卸载当前纹理,当回到游戏的Activity,执行onResume后,会恢复纹理。

然后仔细跟了一下TextureCache以及TextureRender的源码,发现其实纹理卸载操作已经被注释了(项目引擎版本是cocos3.5),也就是说,这里的纹理黑块不是因为纹理卸载引起的,那么问题在哪儿?

通过观察发现,支付回到游戏后,游戏的第一帧不会出现纹理黑块,但是第二帧就出现了,这个现象是不是很奇怪??

好了,不说后来的分析流程了,直接说答案吧,其实就是因为支付回调然后jni调用游戏代码是在主线程中进行的!

所以出现这种纹理黑块,目前来说有两个方向去查:

1.onpause后纹理卸载引起的

2.在主线程中调用jni代码与游戏交互可能引起

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读