La diferencia entre los componentes SpriteRenderer e Image

  1. Representación:
    (1) La imagen se representa a través de los componentes Image y CanvasRenderer de UGUI;
    (2) Sprite se representa a través de los componentes SpriteRenderer;
    (3) No hay diferencia visual entre los dos (cuando ambos usan el material predeterminado). Su representación predeterminada también se encuentra en la cola de geometría transparente.
  2. En principio:
    (1) Después de que la GPU recibe el comando DrawCall, genera y presenta el contenido final a través de una serie de procesos. Los pasos generales incluyen: a. La CPU
    envía el comando Draw Call a la GPU;
    b. La GPU lee los datos necesarios en su propia memoria de video;
    c. La GPU convierte la información de la geometría de entrada en datos de píxeles a través de pasos como vertex shader; d
    . Cada píxel es procesado por fragment shader y escrito en el búfer de fotogramas;
    e. Cuando se completan todos los cálculos , la GPU muestra el contenido del búfer de fotogramas en la pantalla.
    (2) Con base en el conocimiento anterior, podemos inferir:
    a. Sprite tiene datos de vértices más complejos, por lo que será menos eficiente que Image en el primer y segundo paso del cálculo de vértices;
    b. Sprite ejecutará más vértices que Image Shader c .
    La imagen realizará más operaciones de sombreado de fragmentos que Sprite;
  3. En uso:
    (1) Ventana de jerarquía, puede colocar el sprite en cualquier lugar y mover el sprite como otros objetos del juego a través de Transform; la imagen debe colocarse debajo del lienzo y solo se puede mover en la interfaz de la interfaz de usuario a través de RectTransform; (2) Sprite e
    imagen Una de las diferencias más importantes es que sprite admite la construcción automática de la cuadrícula, mientras que la cuadrícula de UI Image siempre se compone de rectángulos; SpriteRenderer creará geometría adicional para recortar áreas de píxeles transparentes redundantes, reduciendo así un gran número de las operaciones de sombreado de fragmentos y se redujo el sobregiro. SpriteRenderer está optimizado para mostrar más elementos. Por lo tanto, en el desarrollo de juegos 2D, los elementos de la escena del juego deben representarse tanto como sea posible, especialmente las imágenes geométricas complejas;
    (3) la imagen solo se usa para mostrar la interfaz de usuario;

Artículo de referencia: Unity UGUI serie dos materiales SpriteRenderer e Image

Supongo que te gusta

Origin blog.csdn.net/weixin_42205218/article/details/126505875
Recomendado
Clasificación