Una de las formas de aumentar el rendimiento en los juegos que más vamos a ver implementado y que le dará una utilidad a las gráficas integradas de nuestros ordenadores para gaming es el concepto del preframe. Este concepto tendrá consecuencias directas en la forma en la que montaremos nuestros ordenadores para jugar a videojuegos con ellos, y hará que las configuraciones de solo procesadores desaparezcan con el tiempo del mapa.
A día de hoy, la gran mayoría de procesadores son chips heterogéneos que no solamente tienen en su interior varios núcleos de CPU, sino también lo que llamamos una iGPU o chip gráfico integrado. Este componente siempre lo hemos interpretado como una pieza cuanto menos sencilla para mover poco más que el escritorio de Windows, una especie de reemplazo que tan pronto toca realizar el trabajo duro, es decir, generar los gráficos en los juegos, le pasa el testigo a la tarjeta gráfica principal para cogerse unas vacaciones. Sin embargo, se trata de un enorme despilfarro de recursos.
¿Por qué la GPU integrada cobrará importancia en juegos?
El trabajo principal de una tarjeta gráfica es generar imágenes, sin embargo, de un tiempo a esta parte se usan para otras tareas distintas, pero en mercados diferentes al del PC. Nosotros no tenemos nuestra Radeon o nuestra GeForce para ayudar a sintetizar una proteína o para crear una simulación militar. Claro está que hay una serie de elementos para los cuales se utiliza la potencia sobrante de la GPU, provocada por los tiempos muertos, para solucionar problemas comunes en los juegos, especialmente los relacionados con la detección de colisiones o el cálculo de las físicas del juego.
Sin embargo, para realizar dichas tareas muchos juegos no las hacen usando la tarjeta gráfica y dejan que sean los núcleos adicionales de la CPU los encargados de realizar el trabajo, y esto provoca que una de las cosas que permite la flexibilidad de las GPU contemporáneas esté en desuso. El motivo de ello es que no se programa igual en este aspecto una tarjeta gráfica de NVIDIA que una de AMD, y en cambio, los procesadores de Intel y AMD sí que usan el mismo código.
El concepto del preframe
Uno de los cálculos más importantes en los juegos es el de la visibilidad, es decir, llegar a saber qué objetos se ven realmente en cada fotograma y cuáles no. Esto lo hace la GPU principal al generar el frame, sin embargo, de un tiempo a esta parte se usa el concepto del pre-renderizado, el cual consiste no en generar un frame con toda la información completa, sino generar la imagen lo más simple posible con tal de saber los objetos visibles en el frame siguiente.
Esto es fácil de implementar por el simple hecho que el driver solo tiene que ejecutar el siguiente fotograma de forma recortada para obtener la información correspondiente y que la tarjeta gráfica actúe en consecuencia cuando realice el fotograma final a continuación. Pensad en ello como el esbozo que realiza un dibujante con pocos detalles antes de realizar el dibujo final.
¿Cuál es su utilidad?
Pues son varias y os las vamos a enumerar a continuación:
- Nos permite descartar por completo toda la geometría que se encuentra en la lista de pantalla, pero que es superflua por los siguientes motivos:
- Fuera de cámara
- Por detrás de un objeto más grande
- Demasiado alejado y, por tanto, no se diferenciarían detalles.
- Permite la creación de una estructura de datos en árbol que nos informa dónde se encuentra cada objeto, lo cual es esencial para el Ray Tracing.
- Nos permite ordenar la geometría según su posición de pantalla, lo que facilita la posibilidad de renderizar por tiles y con ello reducir el impacto sobre la memoria de vídeo.
¿Cómo se construye el preframe?
Se trata de crear el siguiente frame con menos información, dado que no se verá en pantalla se omiten ciertas partes del pipeline 3D para poder acelerar la construcción del preframe.
- No se aplica ningún shader gráfico, en ninguna de las etapas.
- Tampoco se aplican texturas ni información del color.
- Tampoco se aplican efectos de postprocesado de imagen de ningún tipo.
La idea es la de poder tenerlo listo en pocos milisegundos, con el objetivo de que la información esté lista para que la GPU pueda usarla a su favor para generar el fotograma final. Recordad que el objetivo es indicar la visibilidad y el posicionamiento de la geometría en la escena, información que es clave para generar un fotograma. Y aquí es donde viene la trampa detrás de todo este mecanismo.
Es en las etapas posteriores a la etapa de rasterizado donde más datos se acaban moviendo y, por tanto, las que más potencia requieren, al eliminarlas de la ecuación esto significa que podemos mover la ejecución del preframe a un hardware gráfico mucho más sencillo, como es la gráfica integrada en el procesador, por lo que deberá estar activa para poderse utilizar.
Las complicaciones que supone su implementación
De acuerdo, todo lo que os hemos comentado hasta el momento es muy bonito sobre el papel, pero ahora toca hablar de la parte cruda y es que esta solución solo la vamos a ver cuando tanto la arquitectura tanto de la GPU integrada como de la tarjeta gráfica sean la misma o al menos compatibles. Esto, lamentablemente, ya de por sí supone un problema para NVIDIA, al ser la única de las tres marcas que no tiene CPU x86. Es más, AMD sería la única empresa que podría tomar ventaja de esta situación con tal de forzar el uso de sus procesadores Ryzen y tarjetas gráficas Radeon en el futuro.
Por otro lado, la idea del preframe es ideal para las GPU con gran cantidad de núcleos, sin embargo, con el aumento progresivo de los costes a la hora de construir chips, cualquier ayuda externa es bienvenida, aunque sea a través de la gráfica integrada en el procesador. Al fin y al cabo los precios no pueden escalar continuamente hacia arriba, llegará un punto en el que el mercado dirá basta.
The post ¿Por qué la gráfica integrada pasará a ser clave en el rendimiento de los juegos? appeared first on HardZone.
from HardZone https://ift.tt/VbM4lFi
via IFTTT
No hay comentarios:
Publicar un comentario