UGUI的text赋值问题-速度
仅是简单的给一个ugui.text组件不断的赋值字符串,就会带来很高的CPU消耗,约0.5MS左右。
这个过程主要是消耗在字体的MESH顶点重建。
在游戏中变化的字体一般不多,聊天面板虽然变化,刷新率不高(MOBA游戏)
然后就是金钱变化的显示,网络延迟的显示,FPS的显示。
优化想法:对于字符串长度不发生变化的串,只需要更新每个字符的UI (重新获取该字符在字体图集中的UV)
,并不重建MESH。
这种做法的问题是:每个字符在图集中并不是等宽的,因此显示出来就会有宽有窄,非常难看。
其实重建MESH也不会带来多少额外消耗。
经测试,自己实现的字体绘制,CPU耗时约为0.13MS (5个字符,对比上面使用UGUI.TEXT的0.5ms).
更好的优化方法是:使用美术字,类似序列图的方式播放字符。这种方式在速度和效果上都优于前面两种方法
UGUI的text赋值问题-速度的更多相关文章
- TStringList  TMemo Text与Add赋值的区别 Memo.Text赋值高度注意事项,不得不知的技巧。
		
Memo.Text赋值高度注意事项,不得不知的技巧. list := TStringList.Create; list.Text:= str: list.Count; list.Clear; l ...
 - 【转】(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text
		
原创至上,移步请戳:(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text 7.Rich Text UI元素和文本网格的文本可以合并多个字体样式和大小.对 UI系统 ...
 - 【Unity笔记】UGUI的Text文本框的大小随着文本字数变化
		
需求:UGUI的Text文本框的内容会随着文本字数多少/换行而自动改变大小. 给Text加一个Content Size Filter组件(脚本),设置Horizontal Fit和Vertical F ...
 - ugui 获取Text的高度,动态改变高度
		
项目中需要根据聊天内容的多少.显示外边框的高度.因为Text的内容是不固定的.但宽度是固定的.高度根据文字多少自增 可以通过Text的属性preferredHeight 获取文本框的高度
 - UGUI中Text的换行
		
通过代码中的\n可以直接执行换行效果,但是我们在平常的工作中一般都是读表,既在Inspector面板中的Text组件中输入同样的内容就达不到换行效果: 其实unity把\n转变成了\\n,我们只需要变 ...
 - 【Unity】UGUI的Text各种小问题
		
Text:用中文输入法时,无法输入汉字.输入了拼音后,按回车键无反应.目前的办法是在别的地方打好字后复制过来. Font:字体必须选一个,选None则文字变成一串黑色方块. Font Size:文字大 ...
 - Unity UGUI之Text
		
下图是Text组件的内容. Character(字符) Text--输入要显示的文本 Font--要渲染文本的字体类型(例如:黑体.宋体) FontStyle--是否要加粗,倾斜等. Normal-- ...
 - ugui获取text宽
		
http://www.xuanyusong.com/archives/3587 void Start () { Font font = Resources.Load<Font>(" ...
 - (八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text
		
大家好,我是孙广东. 转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:mod=guide&view ...
 
随机推荐
- Quidway S系列交换机
			
一. 华为交换机设备,以Quidway S系列命名,广泛适用于企业网.园区网和运营网络.Quidway S系列交换机包括: 接入层交换机 汇聚层交换机 核心层交换机 1.接入层交换机 包含两个系列: ...
 - Linux mysql 5.7.23 主从复制(异步复制)
			
docker容器主节点: 172.17.0.9 docker容器子节点: 172.17.0.10 异步复制: 首先确认主库和从库是否一致,最好都是刚刚初始化的干净的数据库 如果主库正在使用不能初始化 ...
 - RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题
			
RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题 随着Linux 版本的普及,但Oracle数据库主流版本仍是11gR2, 的支持不很完美,在Linux 上安装会遇到几处问题,以此记录 ...
 - 01-Socket服务器
			
package com.day1; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExc ...
 - Unable to find the wrapper ”https” - did youforget to enable it when you configured PHP?
			
Unable to find the wrapper ”https” - did youforget to enable it when you configured PHP? 这是在Windows的 ...
 - implementation compile的区别
			
implementation不可以依赖传递:依赖对app Module 是不可见的 compile可以依赖传递:依赖对app Module 是可见的 AndroidStudio升级到3.0以上后,第一 ...
 - bzoj3252: 攻略(贪心)
			
/* 因为权值都是正的, 所以贪心的正确性能保证 然后重链贪心跑一下就好了 */ #include<cstdio> #include<algorithm> #include&l ...
 - Java捕获异常的问题
			
---恢复内容开始--- 在Java编译过程中,有时候会出现输入未按照规定输入的情况,此时需要警告用户输入错误,这就会是程序运行过程中出现异常.异常就是可预测但是又没办法消除的一种错误.所以在编写过程 ...
 - Hive 2.1.1安装配置
			
##前期工作 安装JDK 安装Hadoop 安装MySQL ##安装Hive ###下载Hive安装包 可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2 ...
 - Vuejs自定义全局组件--loading
			
不管是使用框架,还是不使用任何的框架,我们都不可避免的需要与“加载中……”打交道,刚刚学习了Vuejs自定义组件的写法,就现学现卖,介绍一下吧! 先看一下目录结构,一般情况下,每一个组件都新建一个新的 ...