美文网首页Unity小功能
NGUI中UITexture 和UISprite区别

NGUI中UITexture 和UISprite区别

作者: OneMore2018 | 来源:发表于2017-03-08 18:22 被阅读115次

一.UISprite和UITexture的区别

NGUI中也有UITexture的概念,其功能和用途上和UISprite有很大的相似之处,都是为了显示一些图片资源。但是UITexture和UISprite最大的区别在于,UITexture是一张独立的图片,不依托于任何图集,这张Texture有自己的材质和shader,每一个UITexture都将消耗一个DrawCall去渲染,每一个UITexture都将独立进行加载。

二.UISprite和UITexture的选择

1.什么情况下使用UITexture

(1)当图片过大,不适合合成图集的时候,可以使用UITexture,此时要尽量的保证图片的宽高是2的N次方

(2)当图片为2的N次方,但出现的频率不高时,可以使用UITexture。例如游戏的背景和Logo。

(3)修改更改特别频繁的图片,为了减少每次更新维护的麻烦,可以考了使用UITexture。

(4)如果图片很小且多处会使用到(例如按钮 == )尽量将图片放入图集,通过精灵的方式使用。

总结:UITexture的功能是在屏幕上显示一张图片,在这一点上它和UISprite有着相似的功能,但是UITexture会消耗单独的DrawCall去渲染,并会单独加载进内存,所以会增大程序性能的开销。

2.什么情况下使用UISprite

(1)sprite对于NGUI来说,是非常基础的元件,经常不会独立使用。例如进度条的Foreground和Background。

(2)如果要显示一张图片,它的形状不规则,长宽不是2的N次方,那么一定要使用UISprite。因为unity对非2的N次方的图片处理要慢很多。

(3)如果这个UI元件频繁的出现,那么最好使用UISprite,因为这样它就可以和图集一起被载入内存,并不用新增一个DrawCall去渲染它。

(4)对于一些展示型的图片,不会变化,只是起一个展示的作用,例如弹框上的花纹装饰,顶部的花圈==。一般都以UISprite的方式来制作和展示。

相关文章

  • NGUI中UITexture 和UISprite区别

    一.UISprite和UITexture的区别 NGUI中也有UITexture的概念,其功能和用途上和UISpr...

  • NGUI UITexture和UISprite

    它们的取舍也是内存和drawcall的取舍 复用率高的资源使用Atlas 原画背景图等使用UITexture 但需...

  • NGUI-UIBasicSprite/UISprite/UITe

    1. 整体类图 从类图可以看出,UISprite和UITexture都是继承UIBasicSprite,UIBas...

  • 关于NGUI的depth的深度解析<一>

    用过NGU的兄弟知道,NGUI是以一个depth的参数控制各个Rect的前后关系的。包括UISprite跟UILa...

  • UISprite介绍

    UISprite可以说是NGUI中被用到最多的组件之一了。毕竟一个UI界面都是由不同的精灵图片也就是Sprite进...

  • NGUI

    1.NGUI-OPTION选项中的Reset prefab toobar是NGUI事先准备好的预制体 NGUI-L...

  • NGUI与UGUI的区别

    总结: 1、NGUI与UGUI的区别 2、uGUI的Canvas 有世界坐标和屏幕坐标 3、uGUI的Image可...

  • Unity-uGUI与NGUI

    一、 uGUI与NGUI的区别 1、uGUI的Canvas 有世界坐标和屏幕坐标。 2、uGUI的Image可以使...

  • Unity3D——使用UGUI制作小地图

    UGUI制作小地图的方法和NGUI也没多大区别,同样是通过Camera+RenderTexture来实现。细节...

  • NGUI与UGUI的优缺点

    1. NGUI与UGUI的区别 uGUI的Canvas 有世界坐标和屏幕坐标 uGUI的Image可以使用mate...

网友评论

    本文标题:NGUI中UITexture 和UISprite区别

    本文链接:https://www.haomeiwen.com/subject/rffigttx.html