¿Para qué se utiliza exactamente una tarjeta GPU?
Las primeras tarjetas gráficas 3D de entretenimiento también se denominaban "tarjetas aceleradoras 3D". Debido a que la mayor parte del trabajo de procesamiento de coordenadas y los efectos de luces y sombras deben ser procesados por la propia CPU, lo que consume demasiado tiempo de cálculo de la CPU, lo que hace que la imagen general no se muestre con mucha fluidez.
Por ejemplo, para renderizar una escena 3D compleja es necesario procesar decenas de millones de vértices de triángulos y rasterizar miles de millones de píxeles en un segundo. En los primeros juegos 3D, la tarjeta gráfica solo proporcionaba un búfer para los píxeles mostrados en la pantalla, y todo el procesamiento de gráficos lo completaba únicamente la CPU. La representación de gráficos es adecuada para el procesamiento en paralelo, y las CPU que son buenas para el trabajo en serie en realidad no están a la altura de la tarea. Por tanto, las imágenes tridimensionales generadas en tiempo real en la PC en ese momento eran muy toscas. Pero en cierto sentido, el dibujo de gráficos en ese momento era completamente programable, pero la CPU era responsable de esta importante tarea y la velocidad no cumplía con los requisitos.
Con el paso del tiempo, la velocidad de diversas operaciones de luces y sombras de la CPU se ha vuelto cada vez más incapaz de cumplir con los requisitos de los desarrolladores de juegos. La aplicación de más polígonos y efectos especiales exprimió casi todo el rendimiento de la CPU y surgieron contradicciones...
El nacimiento de la GPU
Nvidia lanzó la GeForce 256 el 31 de agosto de 1999 Cuando En lo que respecta a los chips de procesamiento de gráficos, se propuso por primera vez el concepto de GPU.
La razón por la que la GPU se llama procesador de gráficos es principalmente porque puede realizar casi todas las operaciones de datos relacionadas con los gráficos de computadora, que anteriormente eran una patente de la CPU.
Actualmente, la infografía se encuentra en un periodo de desarrollo sin precedentes. En los últimos años, la tecnología GPU se ha desarrollado a un ritmo alarmante. Las velocidades de renderizado se duplican cada seis meses. Desde 1999, el rendimiento ha aumentado 10 veces y 100 veces en estos años, lo que es (10 elevado a 2) ¡aumentado miles de veces! Al mismo tiempo, no solo se mejora el rendimiento, sino que también se mejora gradualmente la calidad de los cálculos y la flexibilidad de la programación de gráficos.
Las PC y estaciones de trabajo anteriores solo tenían aceleradores de gráficos y ninguna unidad de procesamiento de gráficos (GPU) podía simplemente acelerar la representación de gráficos. Después de que la GPU reemplace al acelerador de gráficos, se debe abandonar el antiguo concepto de acelerador de gráficos.
Estructura de la GPU
El nombre completo de GPU es unidad de procesamiento de gráficos: procesador de gráficos. Su función más importante es realizar diversas operaciones necesarias para dibujar gráficos de computadora, incluida la configuración de vértices, luces y sombras. , operaciones de píxeles, etc. La GPU es en realidad un conjunto de funciones gráficas que se implementan mediante hardware. En el pasado, estas tareas las realizaba la CPU junto con un software específico. En cierto sentido, la GPU desempeñaba un papel principal en el procesamiento de gráficos.
Un diagrama de estructura de GPU simple contiene una GPU estándar, que incluye un motor 2D, un motor 3D, un motor de procesamiento de video, un motor FSAA y una unidad de administración de memoria. Entre ellos, 3DEngine juega un papel decisivo en la informática 3D. Es el alma de las tarjetas gráficas 3D modernas y un símbolo importante para distinguir el nivel de GPU. 3D Englne es el foco de las campañas publicitarias de productos de varias empresas, y sus nombres son cada vez más fuertes, como la serie nFjnjtFX de NVIDIA, la serie CineFX y la serie SmoothVision de AMD. Un motor 3D normalmente incluye unidad t&L, VertexProeessingEngine, SetupEngine, PiexlShader, etc.
Cómo funciona la GPU
Proceso de procesamiento de datos en GPU
¡Ahora echemos un vistazo a cómo la GPU de segunda generación procesa completamente una imagen! Primero, varios parámetros físicos de la CPU ingresan a la GPU y el sombreador de vértices realiza juicios básicos sobre los datos de los vértices. Si no hay efectos de vértice para procesar, los datos de vértice ingresarán directamente a la unidad T&L para realizar T&L tradicional para ahorrar tiempo y mejorar la eficiencia. Si es necesario procesar varios efectos de vértice, el sombreador de vértices primero calculará las instrucciones de varios programas de vértice. En términos generales, los programas de vértices a menudo incluyen efectos de T y amplificación que debían implementarse en el pasado, como operaciones de conversión, recorte e iluminación, por lo que los efectos procesados por el sombreador de vértices generalmente no requieren operaciones de T y amplificación. Además, cuando se trata de teselado de superficies (convertir superficies, como arcos, en polígonos o triángulos). La CPU puede pasar los datos directamente al sombreador de vértices para su procesamiento.
Además, durante el proceso de transformación de DireetX, el sombreador de vértices puede completar la selección de valores Z, es decir, selección inversa: superficies ocultas. Esto significa que, además de los vértices fuera del campo de visión, también se cortarán los vértices cubiertos por los puntos del frente de pendiente dentro del campo de visión, lo que reduce en gran medida la cantidad de vértices que deben operarse.
A continuación, los diversos datos procesados por VertexShader fluirán hacia SetupEngine, donde el operador establecerá el triángulo, que es el paso más importante en todo el proceso de dibujo. La configuración del motor incluso afecta directamente la eficiencia de ejecución de la GPU. El proceso de configuración de triángulos consiste en polígonos o en reemplazar los triángulos originales por otros mejores.
En una imagen 3D, algunos triángulos pueden estar ocluidos por triángulos delante de ella, pero en esta etapa el chip 3D no sabe qué triángulos serán ocluidos, por lo que la unidad de construcción de triángulos recibe un triángulo completo que consta de tres vértices. Cada esquina (o vértice) de un triángulo tiene sus correspondientes valores de coordenadas de eje X, eje Y y eje Z, que determinan su posición en la escena 3D. Al mismo tiempo, la configuración del triángulo también determina el rango de relleno de píxeles. En este punto, se completa el trabajo de VertexShader.