Español (ES)
Usuario anónimo
Iniciar sesión | Regístrate gratis
Foro de Hardware y presupuestos

Responder / Comentar
Foro Hardware y presupuestos

[Explicación] Nvidia, DX12, AoS y las shaders asíncronas

JoelxFire197461Hace 8 años16
@Ikergarcia1996
Mostrar cita
En los últimos días se ha creado bastante polémica en torno a DX12 y Nvidia, primero fue el benchmark del juego AoS donde las gráficas AMD conseguían mejor rendimiento que las gráficas Nvidia y a raiz de ese test, ayer se publicaron en todas las webs noticias hablando de las shaders asíncronas y de AMD. Ya se que hay varios temas hablando de esto, pero, quiero explicar lo que ocurre, y me parece un tema muy importante, sobre todo para los que van a comprarse ahora una gráfica, a si que no quería que esto se perdiera en los comentarios de algún post. Antes de nada, por si todavía no sabeís que son las shaders asíncronas os dejo aquí este post de anandtech: [url]http://www.anandtech.com/show/9124/amd-dives-deep-on-asynchronous-shading[/url] Empecemos por qué paso con AoS. AoS es un juego en desarrollo, que puede presumir de ser el primer juego en usar DX12, hace unos días, publicaron un benchmark que la gente podía descargar para probar su gráfica ¿Que fue lo que ocurrió en ese benchmark? Pues que las gráficas AMD conseguían un aumento de rendimiento mucho mayor que las gráficas Nvidia, incluso podíamos ver como la R9 290X era capaz de superar a la GTX980ti, Nvidia ante esta situación habló con los desarrolladores del juego y les pidieron que, eliminasen el soporte para shaders asíncronas, esto salió ayer a la luz y todas las webs publicaron la noticia diciendo que las gráficas nvidia no tienen soporte para shaders asíncronas, lo que es TOTALMENTE FALSO. [u]¿De donde viene el mito de que Nvidia no soporta shaders asíncronas?[/u] Pues es muy gracioso, por que Nvidia lleva años soportandolas, pero, en un post de overclock.net donde se habla de ellas, el primer comentario era el siguiente: [list] [*] [i]"AFAIK, Maxwell doesn't support Async Compute, at least not natively. We disabled it at the request of Nvidia, as it was much slower to try to use it then to not."[/i] [/list] Por alguna extraña razón todo el mundo dio por hecho que este usuario tenía razón, incluso en AMD se le creyeron, esto dijo un representante de AMD hace poco: [list] [*] [i]"NVIDIA claims "full support" for DX12, but conveniently ignores that Maxwell is utterly incapable of performing asynchronous compute without heavy reliance on slow context switching"[/i] [/list] La realidad es la siguiente, lo pongo en inglés por que no se cual sería la traducción al español de las palabras técticas que se usan [b]GCN[/b] :uses 1 graphics engine and 8 shader engines with 8-deep command queues, for a total of 64 queues. [b]Maxwell [/b]: uses 1 graphics engine and 1 shader engine with a 32-deep command queue, for a total of 32 queues (31 usable in graphics/compute mode) [u][b]PRUEBAS REALIZADAS[/b][/u] Un usuario subió a Beyond3d un pequeño benchmark para probar DX12, lo que hace el benchmark es general 128 colas de comandos (que más tarde redujo a 2) y 128 listas de comandos y luego hace que la gráfica ejecute simultáneamente las 128 listas de comandos secuencialmente. Si el tiempo que tarda en ejecutar los comandos se va incrementando, quiere decir que la gráfica no soporta varias colas simultaneas por lo que no es compatible con las shaders asíncronas. Muchos usuarios probaron el benchmark y subieron sus resultados (por alguna razón 3DJuegos no me deja poner los enlaces a los comentarios, el enlace al post es el siguiente [url]https://forum.beyond3d.com/threads/dx12-performance-thread[/url]), fueron probadas la GTX960, la GTX980TI, la R9 390X y la FuryX. - MENOS=MEJOR - En las pruebas podemos ver como Maxwell soporta 31 listas de comandos simultáneamente, demostrando así que tiene la capacidad de usar las shader asíncronas. Cada vez que añadimos 32 nuevas listas, el tiempo de renderizado aumenta ya que la gráfica se ve sobrecargada. EN el caso de la arquitectura GCN de AMD, las 128 listas de comandos simultáneos se renderizaron a la misma velocidad, indicando también que la arquitectura tiene soporte para shaders asíncronas. Lo interesante de estas pruebas, que las arquitectura maxwell es extremadamente rápida cuando trabajamos por debajo de 31 listas de comandos, tanto, que la GTX960 es capaz de superar tanto a la 390X como a la FuryX y la GTX980ti conseguía duplicar el rendimiento de la FuryX, pero, una vez empezamos a añadir listas, el rendimiento de la arquitectura maxwell va cayendo y, al llegar a 128 listas el rendimiento de la GTX980ti y el de la FuryX es prácticamente el mismo. [u][b]CONCLUSIÓN[/b][/u] Queda demostrado que maxwell tiene soporte para shaders asíncronas y además, es más rápida que GCN mientras estemos por debajo de 31 listas de comandos, pero una vez superadas las 96-128 listas, ambas arquitecturas se igualan. Lo que si que podemos sacar en claro es que ambas arquitecturas son muy diferentes entre sí y ofrecen una solución muy diferente al mismo problema, por lo tanto no debemos tomar ningún test como 100% verdadero, ya que, en algunos rendirán mejor las gráficas Nvidia o las AMD. Lo mejor que podemos hacer es esperar a tener varios juegos DX12 en el mercado para poder analizar que ocurre con cada gráfica, pero en principio, las diferencias serán bastante discretas. ¿Y que pasa con AoS? El juego usa un motor gráfico que fue creado para mantle y ahora, ha sido porteado a DX12, por lo tanto, el motor gráfico es capaz de exprimir las gráficas AMD, pero no las gráficas Nvidia, hay que recordar también que el estudio que está desarrollando el juego, es un estudio indie que se financia mediante crowdfunding, por lo que no tienen los medios para modificar el motor y que sea capaz de aprovechar las shaders asíncronas de Nvidia. Como curiosidad dejo por aquí un link a una presentación de nvidia de 2008, donde hablan de las shaders asíncronas y que están incluidas en CUDA desde Fermi: [url]https://www.pgroup.com/lit/articles/insider/v2n1a5.htm[/url] ACTUALIZACIÓN: Según parece, los drivers de Nvidia todavía no soportan las shaders asíncronas, ahora mismo Nvidia está preparando unos drivers que si ofrezcan soporte, habrá que esperar a que esos drivers se publiquen para repetir las pruebas en AoS y ver como rinden las gráficas Nvidia. Por desgracia, parece que Nvidia solo ofrecerá soporte de shaders asíncronas a Maxwell
como ves el DX12 para una 780 3gb?
Asim10924Hace 8 años17
@JoelxFire19 yo veo que esos 3gb te van a lastrar un poco, aunque se mejore y optimice el consumo de vram
Ikergarcia19969072Hace 8 años18
@JoelxFire19
Mostrar cita
@Ikergarcia1996
Mostrar cita
En los últimos días se ha creado bastante polémica en torno a DX12 y Nvidia, primero fue el benchmark del juego AoS donde las gráficas AMD conseguían mejor rendimiento que las gráficas Nvidia y a raiz de ese test, ayer se publicaron en todas las webs noticias hablando de las shaders asíncronas y de AMD. Ya se que hay varios temas hablando de esto, pero, quiero explicar lo que ocurre, y me parece un tema muy importante, sobre todo para los que van a comprarse ahora una gráfica, a si que no quería que esto se perdiera en los comentarios de algún post. Antes de nada, por si todavía no sabeís que son las shaders asíncronas os dejo aquí este post de anandtech: [url]http://www.anandtech.com/show/9124/amd-dives-deep-on-asynchronous-shading[/url] Empecemos por qué paso con AoS. AoS es un juego en desarrollo, que puede presumir de ser el primer juego en usar DX12, hace unos días, publicaron un benchmark que la gente podía descargar para probar su gráfica ¿Que fue lo que ocurrió en ese benchmark? Pues que las gráficas AMD conseguían un aumento de rendimiento mucho mayor que las gráficas Nvidia, incluso podíamos ver como la R9 290X era capaz de superar a la GTX980ti, Nvidia ante esta situación habló con los desarrolladores del juego y les pidieron que, eliminasen el soporte para shaders asíncronas, esto salió ayer a la luz y todas las webs publicaron la noticia diciendo que las gráficas nvidia no tienen soporte para shaders asíncronas, lo que es TOTALMENTE FALSO. [u]¿De donde viene el mito de que Nvidia no soporta shaders asíncronas?[/u] Pues es muy gracioso, por que Nvidia lleva años soportandolas, pero, en un post de overclock.net donde se habla de ellas, el primer comentario era el siguiente: [list] [*] [i]"AFAIK, Maxwell doesn't support Async Compute, at least not natively. We disabled it at the request of Nvidia, as it was much slower to try to use it then to not."[/i] [/list] Por alguna extraña razón todo el mundo dio por hecho que este usuario tenía razón, incluso en AMD se le creyeron, esto dijo un representante de AMD hace poco: [list] [*] [i]"NVIDIA claims "full support" for DX12, but conveniently ignores that Maxwell is utterly incapable of performing asynchronous compute without heavy reliance on slow context switching"[/i] [/list] La realidad es la siguiente, lo pongo en inglés por que no se cual sería la traducción al español de las palabras técticas que se usan [b]GCN[/b] :uses 1 graphics engine and 8 shader engines with 8-deep command queues, for a total of 64 queues. [b]Maxwell [/b]: uses 1 graphics engine and 1 shader engine with a 32-deep command queue, for a total of 32 queues (31 usable in graphics/compute mode) [u][b]PRUEBAS REALIZADAS[/b][/u] Un usuario subió a Beyond3d un pequeño benchmark para probar DX12, lo que hace el benchmark es general 128 colas de comandos (que más tarde redujo a 2) y 128 listas de comandos y luego hace que la gráfica ejecute simultáneamente las 128 listas de comandos secuencialmente. Si el tiempo que tarda en ejecutar los comandos se va incrementando, quiere decir que la gráfica no soporta varias colas simultaneas por lo que no es compatible con las shaders asíncronas. Muchos usuarios probaron el benchmark y subieron sus resultados (por alguna razón 3DJuegos no me deja poner los enlaces a los comentarios, el enlace al post es el siguiente [url]https://forum.beyond3d.com/threads/dx12-performance-thread[/url]), fueron probadas la GTX960, la GTX980TI, la R9 390X y la FuryX. - MENOS=MEJOR - En las pruebas podemos ver como Maxwell soporta 31 listas de comandos simultáneamente, demostrando así que tiene la capacidad de usar las shader asíncronas. Cada vez que añadimos 32 nuevas listas, el tiempo de renderizado aumenta ya que la gráfica se ve sobrecargada. EN el caso de la arquitectura GCN de AMD, las 128 listas de comandos simultáneos se renderizaron a la misma velocidad, indicando también que la arquitectura tiene soporte para shaders asíncronas. Lo interesante de estas pruebas, que las arquitectura maxwell es extremadamente rápida cuando trabajamos por debajo de 31 listas de comandos, tanto, que la GTX960 es capaz de superar tanto a la 390X como a la FuryX y la GTX980ti conseguía duplicar el rendimiento de la FuryX, pero, una vez empezamos a añadir listas, el rendimiento de la arquitectura maxwell va cayendo y, al llegar a 128 listas el rendimiento de la GTX980ti y el de la FuryX es prácticamente el mismo. [u][b]CONCLUSIÓN[/b][/u] Queda demostrado que maxwell tiene soporte para shaders asíncronas y además, es más rápida que GCN mientras estemos por debajo de 31 listas de comandos, pero una vez superadas las 96-128 listas, ambas arquitecturas se igualan. Lo que si que podemos sacar en claro es que ambas arquitecturas son muy diferentes entre sí y ofrecen una solución muy diferente al mismo problema, por lo tanto no debemos tomar ningún test como 100% verdadero, ya que, en algunos rendirán mejor las gráficas Nvidia o las AMD. Lo mejor que podemos hacer es esperar a tener varios juegos DX12 en el mercado para poder analizar que ocurre con cada gráfica, pero en principio, las diferencias serán bastante discretas. ¿Y que pasa con AoS? El juego usa un motor gráfico que fue creado para mantle y ahora, ha sido porteado a DX12, por lo tanto, el motor gráfico es capaz de exprimir las gráficas AMD, pero no las gráficas Nvidia, hay que recordar también que el estudio que está desarrollando el juego, es un estudio indie que se financia mediante crowdfunding, por lo que no tienen los medios para modificar el motor y que sea capaz de aprovechar las shaders asíncronas de Nvidia. Como curiosidad dejo por aquí un link a una presentación de nvidia de 2008, donde hablan de las shaders asíncronas y que están incluidas en CUDA desde Fermi: [url]https://www.pgroup.com/lit/articles/insider/v2n1a5.htm[/url] ACTUALIZACIÓN: Según parece, los drivers de Nvidia todavía no soportan las shaders asíncronas, ahora mismo Nvidia está preparando unos drivers que si ofrezcan soporte, habrá que esperar a que esos drivers se publiquen para repetir las pruebas en AoS y ver como rinden las gráficas Nvidia. Por desgracia, parece que Nvidia solo ofrecerá soporte de shaders asíncronas a Maxwell
como ves el DX12 para una 780 3gb?
En el peor de los casos, te va a ir igual que hasta ahora Y con 3gb, vas sobrado para 1080p, antes se va a quedar obsoleta la gráfica a que pasemos de 3gb de consumo de Vram, ten en cuenta que solo un 7% de los jugadores de PC tienen más de 3gb de Vram (según la encuesta de hardware de steam), por lo que a día de hoy, es totalmente inviable lanzar un juego que consuma más de 3gb. De hecho, incluso para 1440p debería bastarte con 3gb de Vram.
Responder / Comentar
Siguiente
Subir
Foros > Hardware y presupuestos > [Explicación] Nvidia, DX12, AoS y las shaders asíncronas

Hay 18 respuestas en [Explicación] Nvidia, DX12, AoS y las shaders asíncronas, del foro de Hardware y presupuestos. Último comentario hace 8 años.

  • Regístrate

  • Información legal
Juegos© Foro 3DJuegos 2005-2024. . SOBRE FORO 3DJUEGOS | INFORMACIÓN LEGAL