仅是简单的给一个ugui.text组件不断的赋值字符串,就会带来很高的CPU消耗,约0.5MS左右。

这个过程主要是消耗在字体的MESH顶点重建。

在游戏中变化的字体一般不多,聊天面板虽然变化,刷新率不高(MOBA游戏)

然后就是金钱变化的显示,网络延迟的显示,FPS的显示。

优化想法:对于字符串长度不发生变化的串,只需要更新每个字符的UI (重新获取该字符在字体图集中的UV)

,并不重建MESH。

这种做法的问题是:每个字符在图集中并不是等宽的,因此显示出来就会有宽有窄,非常难看。

其实重建MESH也不会带来多少额外消耗。

经测试,自己实现的字体绘制,CPU耗时约为0.13MS (5个字符,对比上面使用UGUI.TEXT的0.5ms).

更好的优化方法是:使用美术字,类似序列图的方式播放字符。这种方式在速度和效果上都优于前面两种方法

UGUI的text赋值问题-速度的更多相关文章

  1. TStringList TMemo Text与Add赋值的区别 Memo.Text赋值高度注意事项,不得不知的技巧。

    Memo.Text赋值高度注意事项,不得不知的技巧. list := TStringList.Create;  list.Text:= str:  list.Count; list.Clear;  l ...

  2. 【转】(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text

    原创至上,移步请戳:(八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text 7.Rich Text UI元素和文本网格的文本可以合并多个字体样式和大小.对 UI系统 ...

  3. 【Unity笔记】UGUI的Text文本框的大小随着文本字数变化

    需求:UGUI的Text文本框的内容会随着文本字数多少/换行而自动改变大小. 给Text加一个Content Size Filter组件(脚本),设置Horizontal Fit和Vertical F ...

  4. ugui 获取Text的高度,动态改变高度

    项目中需要根据聊天内容的多少.显示外边框的高度.因为Text的内容是不固定的.但宽度是固定的.高度根据文字多少自增 可以通过Text的属性preferredHeight 获取文本框的高度

  5. UGUI中Text的换行

    通过代码中的\n可以直接执行换行效果,但是我们在平常的工作中一般都是读表,既在Inspector面板中的Text组件中输入同样的内容就达不到换行效果: 其实unity把\n转变成了\\n,我们只需要变 ...

  6. 【Unity】UGUI的Text各种小问题

    Text:用中文输入法时,无法输入汉字.输入了拼音后,按回车键无反应.目前的办法是在别的地方打好字后复制过来. Font:字体必须选一个,选None则文字变成一串黑色方块. Font Size:文字大 ...

  7. Unity UGUI之Text

    下图是Text组件的内容. Character(字符) Text--输入要显示的文本 Font--要渲染文本的字体类型(例如:黑体.宋体) FontStyle--是否要加粗,倾斜等. Normal-- ...

  8. ugui获取text宽

    http://www.xuanyusong.com/archives/3587 void Start () { Font font = Resources.Load<Font>(" ...

  9. (八)unity4.6Ugui中文教程文档-------概要-UGUI Rich Text

    大家好,我是孙广东. 转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:mod=guide&view ...

随机推荐

  1. CentOS6系统防火墙开启、关闭、查看状态(转载)

    原文:https://blog.csdn.net/aaron_80726/article/details/79027760 注意:要进入到~目录 也就是家目录下才能查看防火墙 进入家目录:cd ~ 关 ...

  2. java的几种引用

    强引用:无论内存是否足够,不会回收. 软引用:内存不足时,回收该引用关联的对象. 弱引用:垃圾回收时,无论内存是否足够,都会回收. 虚引用:任何时候都可能被垃圾回收器回收. 在Java中,虽然不需要程 ...

  3. 文件上传(asp.net webform中)

    1.配置允许上传文件大小 <configuration> <appSettings> <!--配置上传文件最大字节数:单位KB--> <add key=&qu ...

  4. Unreal Engine 4 Based Materials

    转自:http://www.52vr.com/article-862-1.html 材质参数   UE4的材质参数有4个,输入范围都是0~1之间……分别为:   Base Color Roughnes ...

  5. UE4里的自定义深度功能

    转自:http://www.52vr.com/article-1866-1.html 随着物理渲染系统的发布,虚幻引擎4同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...

  6. css一般性

    1. 总差那么几像素!line-height:100%;2. 数据图片,产品图片用img 小图标,logo,修饰网站的图片 用背景3.文字居中 line-height /text-align:cent ...

  7. html里面,没有内容,要高度占满页面

    html { height:100%; margin:0; } body{ width: 100%; height: 100%; background-color: rgb(52,175,245); ...

  8. WPF 获取文件夹路径,目录路径,复制文件,选择下载文件夹/目录

    private void Border_MouseLeftButtonUp_4(object sender, MouseButtonEventArgs e) { //获取项目中文件 , System. ...

  9. [python] 初学python,级联菜单输出

    #Author:shijt china_map = { "河北": { '石家庄': ['辛集', '正定', '晋州'], '邯郸': ['涉县', '魏县', '磁县'], ' ...

  10. MySQL/InnoDB中,对于锁的认识

    MySQL/InnoDB的加锁,一直是一个面试中常问的话题.例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,乐观锁,排它锁,等.于是今天就对 ...