Red de conocimiento informático - Computadora portátil - 3. Principio de renderizado fuera de pantalla

3. Principio de renderizado fuera de pantalla

aplicación -> Frame Buffer ->Pantalla

Después de que la CPU calcula los datos de la aplicación y la GPU los procesa, los resultados se almacenan en el frame buffer y se utilizan para control de vídeo El framebuffer se recupera del framebuffer y se muestra en la pantalla.

aplicación ->OffScreen Buffer->(Combinación de capas)->Frame Buffer->Visualización

Durante el proceso de visualización de la imagen, la imagen se lee desde el framebuffer capa por capa, y se elimina del búfer cuando termina de mostrarse. Sin embargo, las imágenes a menudo no se muestran de una manera tan simple y, a veces, es necesario recortar la imagen y realizar otras operaciones. Pero estos se han eliminado del frame buffer y definitivamente es imposible operar con ellos. Por lo tanto, para resolver este problema, se agregó un búfer fuera de pantalla (offScreen Buffer). Cada capa de la imagen primero se recorta por separado y se almacena en el búfer fuera de pantalla, y luego los resultados procesados ​​se sintetizan y se colocan en el. búfer de fotograma medio. Esta operación se llama renderizado fuera de pantalla.

Cuando se activa la representación fuera de la pantalla, el proceso de representación de imágenes/gráficos se convierte en: la aplicación realiza una representación y fusión adicionales -> combinación de búfer fuera de pantalla (búfer fuera de la pantalla) -> FrameBuffer (búfer de fotogramas) ->. características de pantalla: (renderizado fuera de la pantalla -> espacio de almacenamiento adicional/búfer fuera de la pantalla->FrameBuffer) tamaño del espacio offscreenBuffer -> el espacio máximo del búfer fuera de la pantalla es 2,5 veces los píxeles de la pantalla

Desde el El búfer fuera de la pantalla en el renderizado fuera de la pantalla es un espacio de almacenamiento adicional para la transferencia de datos, el renderizado fuera de la pantalla afectará los problemas de rendimiento

Sin embargo, algunos efectos especiales aún requieren el uso del renderizado fuera de la pantalla

1. Configurar la imagen de fondo en el botón y activar clipsToBounds o Layer.masksToBounds activará la representación fuera de la pantalla

2. El botón no configura la imagen de fondo y activa ClipsToBounds o Layer.masksToBounds no activará el renderizado fuera de la pantalla Renderizado

4. UIImageView solo configura imágenes y no tiene color de fondo Activar clipsToBounds o Layer.masksToBounds no activará el renderizado fuera de la pantalla

Tengo. para mencionar CALayer aquí, que se compone de color de fondo, compuesto por contenido, ancho de borde y color de borde

Cuando configuramos cornerRadius y MasksToBounds para redondear + recortar, el atributo de recorte de MasksToBounds se aplicará a todas las capas.

El proceso de renderizado normal es dibujar secuencialmente. Después de dibujar una capa, se puede descartar. Pero ahora debe guardarse en el búfer fuera de pantalla en secuencia y esperar el proceso de redondeo + recorte, que activa la representación fuera de la pantalla.

Resumen

Cuando activamos la rasterización, la capa se renderizará en un mapa de bits y se guardará en el caché, de modo que pueda reutilizarse directamente la próxima vez que se use para mejorar. eficiencia.

Sugerencias para usar la rasterización: