本人菜鸟,一个NGUI显示的问题,困扰了好些天,今天终于有点眉目了,但不太确定想法是否正确,求证实!!
事情原来是这样的:用NGUI做的界面在PC上没问题,但运行到Android手机上,部分手机显示混乱甚至程序直接崩溃。刚开始怀疑是测试机子的性能问题,但是我的手机上没问题(几乎被淘汰了的手机),而一些高性能的平板上却出现问题。贴图是否过大、格式是否不支持、draw call是否太大、图层Depth不对、Camera的参数等等,这些都一个个尝试过,问题依旧,以致后来甚至开始怀疑NGUI是否不支持手机。
今天重现了一下此问题:
Unity3d版本:4.3.4
NGUI版本3.0.5
测试机:三星平板Galaxy Note 8.0
打包apk后在测试机上运行开始是这样,正常:

(图1)
一段时间,大概几十秒后:

(图2)
然后再过段时间啥也咩有了:

(图3)
程序一直停留在这里,有时会反复出现“图2”的情况;有时也会直接奔溃,程序自动退出。
测试例子结构视图挺简单的,仅仅面板里放了几个精灵,然后复制了几份:

那几个Sprite除了坐标其他参数都一样:

然后我把NGUI的文件夹删了,导入NGUI3.0.1版也是同样问题。
于是开始怀疑是项目工程设置的问题。。。
于是导出项目包,然后新建个工程,再导入,居然就正常了。
于是开始一个个地改项目中设置的参数。。。
居然在改“Multithreaded Rendering”,问题重现了。。。
那个fell 倍儿爽啊!!!!

就是这红线框内的这玩意,也不知什么时候把他给勾上了。发现Unity中只有android平台有这个选项。百度了下这玩意叫“多线程渲染”。。。
问题就出在这个地方!Unity默认是没有开启的。。。
这也解释了为什么Android低端机没问题,而一些高端的多核cpu机子上容易出现问题。。。
但也发现即使勾选了,有些项目也是不会出现渲染错乱的,比如NGUI的那些example。。。而我项目勾选了就会出现问题,是否也与个人使用NGUI构建UI的方式有关呢?
有哪位有过这类经验的,不吝赐教!
事情原来是这样的:用NGUI做的界面在PC上没问题,但运行到Android手机上,部分手机显示混乱甚至程序直接崩溃。刚开始怀疑是测试机子的性能问题,但是我的手机上没问题(几乎被淘汰了的手机),而一些高性能的平板上却出现问题。贴图是否过大、格式是否不支持、draw call是否太大、图层Depth不对、Camera的参数等等,这些都一个个尝试过,问题依旧,以致后来甚至开始怀疑NGUI是否不支持手机。
今天重现了一下此问题:
Unity3d版本:4.3.4
NGUI版本3.0.5
测试机:三星平板Galaxy Note 8.0
打包apk后在测试机上运行开始是这样,正常:

(图1)
一段时间,大概几十秒后:

(图2)
然后再过段时间啥也咩有了:

(图3)
程序一直停留在这里,有时会反复出现“图2”的情况;有时也会直接奔溃,程序自动退出。
测试例子结构视图挺简单的,仅仅面板里放了几个精灵,然后复制了几份:

那几个Sprite除了坐标其他参数都一样:

然后我把NGUI的文件夹删了,导入NGUI3.0.1版也是同样问题。
于是开始怀疑是项目工程设置的问题。。。
于是导出项目包,然后新建个工程,再导入,居然就正常了。
于是开始一个个地改项目中设置的参数。。。
居然在改“Multithreaded Rendering”,问题重现了。。。
那个fell 倍儿爽啊!!!!

就是这红线框内的这玩意,也不知什么时候把他给勾上了。发现Unity中只有android平台有这个选项。百度了下这玩意叫“多线程渲染”。。。
问题就出在这个地方!Unity默认是没有开启的。。。
这也解释了为什么Android低端机没问题,而一些高端的多核cpu机子上容易出现问题。。。
但也发现即使勾选了,有些项目也是不会出现渲染错乱的,比如NGUI的那些example。。。而我项目勾选了就会出现问题,是否也与个人使用NGUI构建UI的方式有关呢?
有哪位有过这类经验的,不吝赐教!