¿Si se usa la GPU para acelerar PhysX, quién renderiza los gráficos 3D?

Parece que hay un interés creciente en utilizar la potencia de las GPU para procesos distantes de mostrar gráficos 3D de generación en tiempo real. Las últimas noticias avalan este interés, con compañías que han llegado a acuerdos con NVIDIA para usar PhysX en sus productos. En este caso se trata de PhysX por GPU, sustentado en CUDA, aunque AMD/ATI está haciendo lo propio para sus tarjetas.

Me parece muy interesante querer aprovechar la potencia de las GPUs para acelerar los procesos del software, pero me hace preguntarme la cuestión que pone título a este post. Es decir, las tarjetas gráficas tienen tamaña potencia de procesamiento porque es necesaria para renderizar en tiempo real las imágenes interactivas de los videojuegos, en su uso general. Cuando ocupamos a la GPU con otra tarea, calculando rutas, colisiones y demás eventos físicos, en el caso de PhysX, es tiempo en el que la tarjeta gráfica no está renderizando la imágen, haciendo los cálculos de color de los píxeles en sus nuevas posiciones.

Por tanto, si usamos esta potencia de procesamiento para cálculos matemáticos de otras áreas distintas a generar las imágenes tridimensionales, ¿quién se ocupa de hacerlas? ¿No se pierde, acaso, potencia de renderizado al distraer a la GPU con otros menesteres? ¿Acaso las GPU tienen tanta potencia que la CPU les estaba ofreciendo un “cuello de botella”?

Pues nada, ahí dejo mis preguntas, y a ver si me consigo enterar de alguna respuesta.

Actualización 5 marzo 2009: efectivamente, parece ser que hay pérdida de rendimiento en el procesamiento de gráficos cuando se usa PhysX por GPU. Tal es así que a día de hoy recomiendan disponer de una GeForce 9600 GT o superior para cuando se quiera habilitar PhysX por GPU en un juego que lo soporte.

Hay, sin embargo, una excepción. Sucede cuando la cantidad de física usada es elevada y resulta un cuello de botella para la CPU, consiguiendo que la GPU se aburra. Esto sucede, por ejemplo, en (al menos) algunas demos de PhysX por GPU que Nvidia ha puesto a disposición de los usuarios. En estos casos, habilitar PhysX por GPU resulta productivo, aún con una tarjeta gráfica de generación anterior.

Por tanto, habilitar o no PhysX por GPU puede resultar productivo o contraproducente en una aplicación 3D interactiva o juego. Ha de ser el usuario quien, activando o desactivando la opción, compruebe si mejora o disminuye el rendimiento de “frames” por segundo. Si no se aprecia caída de rendimiento, seguramente todo quede más vistoso con los efectos que el juego o aplicación haya incluido por uso de PhysX.

Anuncios

Escribe tu comentario :)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s