欢迎光临散文网 会员登陆 & 注册

Unity发布WebGL之无尽深渊(二)

2021-07-14 17:02 作者:哀哥哥ob  | 我要投稿

        书接上文,在处理了一些奇怪bug和修改了一波底层(取消掉万恶的线程)之后,我们迎来了新一轮的bug,能够载入史册的RuntimeError: memory access out of bounds

        在我查阅了大量国内资料得到一些奇奇怪怪的解决方法,比如扩大内存大小UI图片比Canvas大某个引用值为空颜色修改导致报错等等。但我发现都不适用我,于是,我开始了我的墙外之旅。

        在墙外翻阅了一些大佬的文章后,有一位大佬的一句话隔着屏幕给了我一巴掌。他说任何错误都可能导致这个报错,直接给我整麻了,再加上没有办法使用DevelopmentBuild,我只能一次次打包debug测试,最后发现问题出现在对json文件的反序列化附近。

        我当时使用的Newtonsoft.Json可能因为版本原因不仅序列化功能不能执行,连反序列化功能也会报错,于是我根据大佬的指示替换了一个Json.Net 9.0.1的package,序列化问题得到了解决。链接如下:

        https://github.com/SaladLab/Json.Net.Unity3D/releases

        总的来说这个内存访问越界的问题发生的情况还是很多的,但是他的实际问题其实和Unity设置的内存大小关系并不是很大,大多数情况是出在某个函数执行过程中因为无法正常执行导致内存堆积之后越界的。所以我们在排查错误的时候不能只盯着表现来查找原因,要找到问题的本质。

        WebGL的坑肯定不只以上这么多,如果我以后遇到了其他的有(shen)意(jing)思(bing)的问题,解决之后我还会再继续记录的。

        PS:他喵的,好不容易发布出来能打开了,才发现不支持Post Processing后处理,当场裂开。。。

Unity发布WebGL之无尽深渊(二)的评论 (共 条)

分享到微博请遵守国家法律