【发布时间】:2021-10-20 11:15:52
【问题描述】:
我只有画布的主菜单场景(没有其他对象,甚至没有相机)。通过按某些按钮,我可以打开和关闭不同的菜单和窗口,但这会导致延迟甚至冻结游戏。没有实时执行某些操作的脚本(如更新或协程),甚至没有活动动画或粒子系统,所以,我猜,问题出在 UI 本身。通过遵循优化建议,我对大多数 UI 元素禁用了“光线投射目标”并划分了画布(每个画布的渲染模式设置为叠加,禁用像素完美),但它根本没有帮助。为了测试,我将导致冻结的窗口(它仅包含 2 个图像和 12 个按钮)移动到分离画布,启用所有画布的对象,但禁用 Canvas 和 Graphic Raycaster 组件 - 并且游戏在开始时冻结。当禁用几个菜单对象(不是冻结窗口)时,游戏停止冻结,但滞后并没有消失。该游戏是为 Android 构建的,所有延迟都只发生在那里。我还能做什么?
问题在于渲染,尽管我在场景中没有 3d 对象,但分析器会在随机时刻显示大量三角形和顶点(480 和 1k)。
【问题讨论】:
-
代码中的大部分内容
-
请提供足够的代码,以便其他人更好地理解或重现问题。
-
480 和 1k 并不是一个很大的数字。我建议您截取 Profiler 的屏幕截图并与我们分享。
标签: android unity3d user-interface