Desgarro de pantalla y caída de fotogramas y sus soluciones
El desgarro de pantalla ocurre cuando el monitor muestra dos o más cuadros en la misma pantalla. La frecuencia de actualización de la pantalla es fija, normalmente 60Hz. El rendimiento de la tarjeta gráfica ha mejorado enormemente y la velocidad de fotogramas de salida puede ser muy alta. Si la salida de la tarjeta gráfica es superior a 60 fps, las dos no estarán sincronizadas y la pantalla se romperá.
Renderizado de GPU - procesamiento de frame buffer - controlador de vídeo - lectura de información de frame buffer (mapa de bits) - conversión de digital a analógico - visualización progresiva. Cuando se escanea el primer fotograma de la imagen, la GPU recupera los nuevos datos y los almacena en el búfer de fotogramas. En este momento, el controlador de vídeo obtiene una nueva imagen de fotograma al leer la información del búfer de fotograma, lo que provoca un desgarro.
Apple introdujo la sincronización vertical Vsync y el doble buffer.
Vsync: El framebuffer está bloqueado para evitar desgarros.
DoubleBuffer: La GPU tiene dos buffers abiertos.
Durante la ejecución, cuando el controlador de vídeo lee la información de la caché de la primera área de la caché, se le agrega un bloqueo y, cuando se completa el escaneo progresivo, se desbloquea la primera área de la caché. Y el controlador de video apunta al segundo búfer. Mientras el segundo búfer está bloqueado y escaneado fila por fila, el primer búfer obtiene un nuevo marco de datos de la GPU. Esto solucionará el problema de desgarro.
La caída de fotogramas generalmente se refiere al fenómeno de que la velocidad de fotogramas es demasiado baja debido a una carga de hardware insuficiente para la visualización dinámica y la frecuencia de actualización de la pantalla, lo que resulta en un estancamiento de la pantalla (ya sea por un período corto o largo). tiempo). El número de fotogramas es la cantidad de imágenes transmitidas en un segundo. También puede entenderse como cuántas veces el procesador gráfico puede actualizarse por segundo. Generalmente se expresa en fps (fotogramas por segundo). Cada cuadro es una imagen fija, que crea la ilusión de movimiento al mostrar cuadros en rápida sucesión. Una alta velocidad de fotogramas da como resultado animaciones más fluidas y realistas. Cuantos más fotogramas por segundo (fps), más fluida aparecerá la acción.
Para reducir la pérdida de cuadros (tenga en cuenta que si no se resuelve, el problema de pérdida de cuadros solo se puede minimizar tanto como sea posible. Si no se resuelve, la pérdida de cuadros también puede ocurrir en el tercer nivel). búfer de nivel), introduciendo un búfer de tercer nivel para hacer un uso completo de la CPU/GPU. En el tiempo libre, abra los tres búferes de fotogramas de ABC, deje que A muestre la pantalla, B renderice y C obtenga los datos de renderizado del. GPU. Cuando el búfer de pantalla y el búfer de cuadros están listos, el controlador de video apunta al búfer de cuadros.