Unity 2018.1.3f1 UI闪烁问题

3
自从我们将Unity版本从Unity 5.4.3f1升级到Unity 2018.1.3f1后,我们的团队一直遇到UI闪烁问题。它只会出现在构建(Android / iOS)中,但不会在编辑器上发生。请注意:我们的UI层已经设置好了。
我们尝试过以下方法,但都没有起作用:
- 将主摄像机的transparencySortMode从默认更改为正交。 - 打开/关闭画布组件而不是游戏对象本身。 - 在预制件的z轴上添加一些值(例如0.05、0.1、1等)。
有人遇到这种问题吗?如果是,请告诉我们您解决此类问题的方法(或可能的解决方法)。非常感谢您的任何答案。

看起来你需要双缓冲和启用垂直同步。 - Hasan Emrah Süngü
会尝试一下。谢谢@EmrahSüngü - Jan Patrick
你想知道是否已经找出问题所在了吗? - andrewpey
2个回答

1

你是否尝试过实例化UI,例如可以使用协程进行测试以使其变慢。因此,不要在一个帧中或一个函数中实例化UI,而是尝试使用协程。

IEnumerator PrepareUI()
{
   //Instantiate UI - 1
   yield return new WaitForEndOfFrame();
   //Instantiate UI - 2
   yield return new WaitForEndOfFrame();
}

这个方法以前对我有效,但在一些区域上我进行试验时,不是在帧结束时使用,而是使用了WaitForSeconds(float),这样效果明显提升。


0

我曾经遇到过同样的问题。确保只在需要更新UI时才更新它,不要在Update()上放置任何代码,并且仅在事件上更改UI元素。 例如,如果您有分数值,请勿在Update函数中设置scoreUI.text = score,而是可以创建一个属性,如果分数发生变化,则更新scoreUI。 你的问题可能是你在Update()上激活或停用UI元素,所以找另一种方法来解决它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接