Optimizing Unity UI
来源:互联网 发布:特价机票 知乎 编辑:程序博客网 时间:2024/06/05 11:24
A guide to optimizing Unity UI
版本检查: 5.3
-
难度: 高级
Optimizing a user interface driven by Unity UI is an art. Hard-and-fast rules are rare; instead, each situation must be carefully evaluated with the system’s behavior in mind. The core tension when optimizing any Unity UI is the balancing of draw calls with batching costs. While some common-sense techniques can be used to reduce one or the other, complex UIs must make trade-offs.
However, as is best practice elsewhere, attempts to optimize Unity UIs should begin with profiling. The primary task before attempting to optimize a Unity UI system is to locate the precise reason for an observed performance problem. There are four common classes of problem encountered by users of Unity UI:
- Excessive GPU fragment shader utilization (i.e. fill-rate overutilization)
- Excessive CPU time spent rebuilding a Canvas batch
- Excessive numbers of rebuilds of Canvas batches (over-dirtying)
- Excessive CPU time spent generating vertices (usually from text)
It is, in principle, possible to create a Unity UI whose performance is constrained by the sheer number of draw calls being sent to the GPU. However, in practice, any project overloading the GPU with draw calls is more likely to be bound by fill-rate overutilization.
This guide will discuss the fundamental concepts, algorithms and code underlying Unity UI as well as discussing common problems and solutions. It is broken into five chapters:
- The Fundamentals of Unity UI chapter defines terminology specific to Unity UI and discusses the details of many of the fundamental processes performed to render the UI, including the building of batched geometry. It is strongly recommended that readers begin with this chapter.
- The Unity UI profiling tools chapter discusses gathering profiling data with the various tools available to developers.
- The Fill-rate, Canvases and input chapter discusses ways to improve the performance of Unity UI's Canvas and Input Components.
- The UI controls chapter discusses UI Text, Scroll Views and other component-specific optimizations, along with some techniques that do not fit well elsewhere.
- The Other techniques and tips chapter discusses a handful of issues that do not fit elsewhere, including some basic tips and workarounds for "gotchas" in the UI system.
- Optimizing Unity UI
- Unity Optimizing Shader Load Time
- Android Developer : Optimizing Your UI
- Optimizing Graphics Performance-Unity图形性能优化
- Optimizing Unity Games for Mobile Platforms
- Unity UI
- Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译
- Unity性能优化(4)-官方教程Optimizing graphics rendering in Unity games翻译
- unity UI 置灰
- Unity新UI系统
- Unity UI系统--总览
- Unity UI 系统--Canvas
- Unity UI 学习
- 005.unity显示UI
- Unity的UI文档
- Unity 拖动UI物体
- Unity 手势缩放UI
- Unity UI检测碰撞
- 深入理解 函数、匿名函数、自执行函数
- 数据库分区分表和提升性能
- PHP json_encode 不支持中文的问题
- 第一章:Eclipse用Maven搭建SSM框架并部署到Tomcat7
- python3中bytes和string之间的互相转换
- Optimizing Unity UI
- MySql创建序列
- OBD-II接口引脚定义
- java学习笔记之线程4
- Android状态栏的沉浸设置
- idea创建maven项目步骤《基于eclipse的maven项目》
- 编程填空:第i位替换
- java 输入流 next()-----nextline()
- HIVE beeline使用shell 批量执行sql语句