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

Responder / Comentar
Foro Hardware y presupuestos
Por Ikergarcia19969072
Hace 8 años / Respuestas: 18 / Lecturas: 1655

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

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]

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

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  
DX12, Shaders asíncronas, NVIDIA, AMD y Explicación
EDITADO EL 05-09-2015 / 13:35 (EDITADO 8 VECES)
10 VOTOS
Roberkas98815Hace 8 años1
@Ikergarcia1996 Cual es la media de listas comandos que se utilizan en los juegos?Porque visto asi, es tan sencillo como meterle 200(no se si hay limites mas directos...)y penalizar el rendimiento a NVIDIA o usar 31 listas de comandos y follarse a AMD...
A todo esto,el tema este de los shaders asincronas estaria directamente relacionado con la eficiencia del procesamiento de las imagenes y por tanto seria algo vital no?O puede que se le este dando mas coba de la que se merezca y no influya tanto?

Un saludo! 
Ikergarcia19969072Hace 8 años2
@Roberkas98
Mostrar cita
@Ikergarcia1996 Cual es la media de listas comandos que se utilizan en los juegos?Porque visto asi, es tan sencillo como meterle 200(no se si hay limites mas directos...)y penalizar el rendimiento a NVIDIA o usar 31 listas de comandos y follarse a AMD... A todo esto,el tema este de los shaders asincronas estaria directamente relacionado con la eficiencia del procesamiento de las imagenes y por tanto seria algo vital no?O puede que se le este dando mas coba de la que se merezca y no influya tanto? Un saludo!
Lo último que dices es lo más probable, tenemos a mantle como ejemplo, se le está dando mucho bombo estos días a las shaders asíncronas pero no van a hacer milagros. En juegos como los total war que exprimen el procesador con cientos de soldados en pantalla, seguramente se aprovechen, pero en los juegos normales, lo dudo mucho... Respecto a lo primero que dices, no tengo ni idea, en teoría al pasar de 128 listas también saturaríamos las gráficas AMD por lo que empezarían a perder rendimiento al igual que hacen las gráficas Nvidia, pero, mis conocimientos están lejos de saber como funcionan las shaders asíncronas realmente, de hecho, no creo que ni en AMD ni en Nvidia sepan exactamente que va a pasar con DX12
EDITADO EL 02-09-2015 / 04:29 (EDITADO 1 VEZ)
1 VOTO
3dCasual1061Hace 8 años3
Ante todo un saludo a todos ya que es mi primer post. Perdón por el tocho  

Yo también llevo años en esto y he tenido y visto evolucionar de todo con un enfoque mas casual. Pero ahora quiero dar mi visión personal de este asunto. 

Después de 3 años tocaba cambio y me compré una GTX 960. Y estoy relativamente arrepentido. Me explico. 

 La arquitectura Maxwell esta diseñda para el mundo dx11:

— Elevada sobrecarga de API dx11 (el driver hace mucho trabajo).

— Un solo núcleo dialoga con la GPU. El multicore sirve de poco (hay muchos benchmarks sobre esto) y por eso  Intel gana la partida ya que sus cores son más efiicaces que los de AMD. 

Estas limitationes condujeron a Nvidia a establecer un limite de paralelismo en 32 colas. ¿ Por qué ? En dx11 es muy difici que la GPU sea saturada con "mas faena". Con 32 colas en paralelo podria sobrar. Y asi parece ser. En dx11 las Maxwell van muy bien. Teniendo esto presente también consumen menos y generan menos calor. ¿ Para qué añadir hierro que no se va a utilizar ? Además puedes incluir pequeños efectos sin perder frames ya que la GPU puede con ello. 

En dx12 esto cambia: 

- Desaparece la sobrecarga de la API Dx11: el driver hace poco trabajo y el programador se ha de encargar de casi todo debiendo optimizar el dibujo de frames según sus necesidades y el motor del juego enviando ordenes simples, de bajo nivel, a la gráfica.

- Varios núcleos de la CPU pueden enviar simultaneamente comandos a la GPU multiplicando las ordenes que la GPU puede recibir en un momento dado. 

Todo esto se ve claramente en el 3D-Mark API-Overhead test (si bien lo recuerdo). Es decir, con dx12 el PC se parece mucho a como funciona una consola de cualquier generación (Por fin! Después de 15 años!)

Con la enorme cantidad de elementos que un juego cualquiera es capaz de gestionar y dibujar, literalmente decenas de miles , el paralelismo de 32 se queda corto y supone una clara desventaja frente a a los paralelismos mas elevados de AMD. Además las últimas consolas son 100% AMD, por lo que en el corto plazo los porting seran mucho mas eficientes a AMD que a Nvidia. 

El primer año de dx12 va a ser para AMD. Nvidia ha perdido un cliente por lustros por como ha gestionado esto ya que lo sabían desde muuuuuchos meses. NO tengo ninguna duda a este respecto. 

Quizás puedan mitigar el golpe con firmware, pero no con drivers.
Roberkas98815Hace 8 años4
@Ikergarcia1996
Mostrar cita
@Roberkas98
Mostrar cita
@Ikergarcia1996 Cual es la media de listas comandos que se utilizan en los juegos?Porque visto asi, es tan sencillo como meterle 200(no se si hay limites mas directos...)y penalizar el rendimiento a NVIDIA o usar 31 listas de comandos y follarse a AMD... A todo esto,el tema este de los shaders asincronas estaria directamente relacionado con la eficiencia del procesamiento de las imagenes y por tanto seria algo vital no?O puede que se le este dando mas coba de la que se merezca y no influya tanto? Un saludo!
Lo último que dices es lo más probable, tenemos a mantle como ejemplo, se le está dando mucho bombo estos días a las shaders asíncronas pero no van a hacer milagros. En juegos como los total war que exprimen el procesador con cientos de soldados en pantalla, seguramente se aprovechen, pero en los juegos normales, lo dudo mucho... Respecto a lo primero que dices, no tengo ni idea, en teoría al pasar de 128 listas también saturaríamos las gráficas AMD por lo que empezarían a perder rendimiento al igual que hacen las gráficas Nvidia, pero, mis conocimientos están lejos de saber como funcionan las shaders asíncronas realmente, de hecho, no creo que ni en AMD ni en Nvidia sepan exactamente que va a pasar con DX12
En realidad tienes razon,jajajajaja , me ha hecho gracia lo de que un usuario dijo que maxwell no tenia las shaders asincronas y luego lo uso AMD para desprestigiar cuando no era asi...Realmente no se si tan siquiera saben que hardware venden!
Undertakerkkk298Hace 8 años5
@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]
Ya se ha confinado lo que comentaban los desarrolladores sobre esto. Finalmente NVIDIA ha confirmado que su actual generación carece de soporte vía hardware para shaders asíncronas y las implementará vía drivers [url]http://wccftech.com/nvidia-async-compute-directx-12-oxide-games/[/url] A día de hoy ya no me espero nada nuevo de NVIDIA, definitivamente han perdido un cliente durante muchos años. En fin menos mal que en esta generación me decanté por AMD, aunque ha decir verdad también podrían esforzarse un poco más.
EDITADO EL 05-09-2015 / 12:39 (EDITADO 1 VEZ)
Ikergarcia19969072Hace 8 años6
@Undertakerkkk
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]
Ya se ha confinado lo que comentaban los desarrolladores sobre esto. Finalmente NVIDIA ha confirmado que su actual generación carece de soporte vía hardware para shaders asíncronas y las implementará vía drivers [url]http://wccftech.com/nvidia-async-compute-directx-12-oxide-games/[/url] A día de hoy ya no me espero nada nuevo de NVIDIA, definitivamente han perdido un cliente durante muchos años. En fin menos mal que en esta generación me decanté por AMD, aunque ha decir verdad también podrían esforzarse un poco más.
Wccftech no es una fuente fiable, se inventan las noticias, no tomes en serio lo que leas en esa web. Lo que yo veo en ese artículo es que Maxwell tiene soporte para shaders asíncronas pero que los drivers todavía no lo soportan. "As we have already detailed in an in-depth editorial two days ago, Nvidia GTX 900 series GPUs do have the hardware capability to support asynchronous shading/computing" "In the meantime the Oxide Games developer has stated that Nvidia is actively working with them to implement support for the feature. As Async Compute has not been yet been implemented fully in the latest DirectX 12 ready drivers from Nvidia. We will make sure to revisit the benchmark again once some type of support for Async Compute is achieved on GTX 900 series GPUs to see what affect it may have on performance. " Eso si, no me ha gustado nada leer esto: "Although we should point out that older GeForce generations, prior to 900 series, do not have support for asynchronous shading, so the feature should have no bearing on the performance of those cards." Se ve que Nvidia está haciendo de las suyas, ya que desde fermi las gráficas soportan shaders asíncronas (aunque las gráficas tienen muchas menos colas) pero no los apetece optimizar el resto de arquitecturas para que la gente se pase a maxwell....
EDITADO EL 05-09-2015 / 21:34 (EDITADO 1 VEZ)
3dCasual1061Hace 8 años7
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos).

https://m.youtube.com/watch?v=Dnn0rgDaSro

Casi me parto el ojete  
EDITADO EL 05-09-2015 / 23:32 (EDITADO 2 VECES)
Ikergarcia19969072Hace 8 años8
@3dCasual
Mostrar cita
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos). https://m.youtube.com/watch?v=Dnn0rgDaSro Casi me parto el ojete
Razón no le falta, estamos a septiembre y es ahora cuando han empezado a desarrollar los drivers para DX12 y por el benchmark de AoS, que si no hubieran seguido echándose la siesta... ¿Que han estado haciendo todo el verano? Esperemos que tengan listos los drivers para cuando llegue el primer juego DX12
3dCasual1061Hace 8 años9
@Ikergarcia1996
Mostrar cita
@3dCasual
Mostrar cita
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos). https://m.youtube.com/watch?v=Dnn0rgDaSro Casi me parto el ojete
Razón no le falta, estamos a septiembre y es ahora cuando han empezado a desarrollar los drivers para DX12 y por el benchmark de AoS, que si no hubieran seguido echándose la siesta... ¿Que han estado haciendo todo el verano? Esperemos que tengan listos los drivers para cuando llegue el primer juego DX12
Pues en mi humilde opinión la cosa pinta bastante mal para los que tenemos cualquier Nvidia en cuanto a los Async Shaders. Desde hace más de un lustro Nvidia dispone de cierto paralelismo pero nunca ha incluido un planificador/dispatcher/gestor de colas en el HW que se sepa (los ACE de AMD). Así que en Nvidia el driver se encargaba de repartir la faena. Cojonudo para Dx11 y optimizar drivers para juegos específicos, además barato, HW básico y optimizando el rendimiento mediante SW (drivers) aprovechando que las CPU's van algo sobradas por la falta de paralelismo de Dx11. Pero ahora el driver no puede repartirla porqué las aplicaciones directamente envían comandos a la GPU y la GPU, aparentemente, no tiene la más minima idea de organizar, paralelizar, etc... por lo que, lógicamente, trabaja en serie: una cosa detrás de otra. Ya veremos que hacen pero como no envíen ingenieros de Nvidia a las grandes compañías para que intenten "optimizar" el código Dx12 para que funcione medianamente bien en su HW creo que lo tienen crudo. No debería haberme sorprendido. Cuando activas PhysX el rendimiento cae ligeramente lo que indica que el código PhysX es ejecutado en serie con el resto, no en paralelo, lo cual hubiera tenido mucho más sentido.
MrSister1325Hace 8 años10
@3dCasual
Mostrar cita
@Ikergarcia1996
Mostrar cita
@3dCasual
Mostrar cita
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos). https://m.youtube.com/watch?v=Dnn0rgDaSro Casi me parto el ojete
Razón no le falta, estamos a septiembre y es ahora cuando han empezado a desarrollar los drivers para DX12 y por el benchmark de AoS, que si no hubieran seguido echándose la siesta... ¿Que han estado haciendo todo el verano? Esperemos que tengan listos los drivers para cuando llegue el primer juego DX12
Pues en mi humilde opinión la cosa pinta bastante mal para los que tenemos cualquier Nvidia en cuanto a los Async Shaders. Desde hace más de un lustro Nvidia dispone de cierto paralelismo pero nunca ha incluido un planificador/dispatcher/gestor de colas en el HW que se sepa (los ACE de AMD). Así que en Nvidia el driver se encargaba de repartir la faena. Cojonudo para Dx11 y optimizar drivers para juegos específicos, además barato, HW básico y optimizando el rendimiento mediante SW (drivers) aprovechando que las CPU's van algo sobradas por la falta de paralelismo de Dx11. Pero ahora el driver no puede repartirla porqué las aplicaciones directamente envían comandos a la GPU y la GPU, aparentemente, no tiene la más minima idea de organizar, paralelizar, etc... por lo que, lógicamente, trabaja en serie: una cosa detrás de otra. Ya veremos que hacen pero como no envíen ingenieros de Nvidia a las grandes compañías para que intenten "optimizar" el código Dx12 para que funcione medianamente bien en su HW creo que lo tienen crudo. No debería haberme sorprendido. Cuando activas PhysX el rendimiento cae ligeramente lo que indica que el código PhysX es ejecutado en serie con el resto, no en paralelo, lo cual hubiera tenido mucho más sentido.
pascal lo arreglara todo.
3dCasual1061Hace 8 años11
@MrSister
Mostrar cita
@3dCasual
Mostrar cita
@Ikergarcia1996
Mostrar cita
@3dCasual
Mostrar cita
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos). https://m.youtube.com/watch?v=Dnn0rgDaSro Casi me parto el ojete
Razón no le falta, estamos a septiembre y es ahora cuando han empezado a desarrollar los drivers para DX12 y por el benchmark de AoS, que si no hubieran seguido echándose la siesta... ¿Que han estado haciendo todo el verano? Esperemos que tengan listos los drivers para cuando llegue el primer juego DX12
Pues en mi humilde opinión la cosa pinta bastante mal para los que tenemos cualquier Nvidia en cuanto a los Async Shaders. Desde hace más de un lustro Nvidia dispone de cierto paralelismo pero nunca ha incluido un planificador/dispatcher/gestor de colas en el HW que se sepa (los ACE de AMD). Así que en Nvidia el driver se encargaba de repartir la faena. Cojonudo para Dx11 y optimizar drivers para juegos específicos, además barato, HW básico y optimizando el rendimiento mediante SW (drivers) aprovechando que las CPU's van algo sobradas por la falta de paralelismo de Dx11. Pero ahora el driver no puede repartirla porqué las aplicaciones directamente envían comandos a la GPU y la GPU, aparentemente, no tiene la más minima idea de organizar, paralelizar, etc... por lo que, lógicamente, trabaja en serie: una cosa detrás de otra. Ya veremos que hacen pero como no envíen ingenieros de Nvidia a las grandes compañías para que intenten "optimizar" el código Dx12 para que funcione medianamente bien en su HW creo que lo tienen crudo. No debería haberme sorprendido. Cuando activas PhysX el rendimiento cae ligeramente lo que indica que el código PhysX es ejecutado en serie con el resto, no en paralelo, lo cual hubiera tenido mucho más sentido.
pascal lo arreglara todo.
Y como sabes que Pascal soporta Async Shaders ??? Además, si quieren que les compre otro hierro lo tiene CRUDO.
Ikergarcia19969072Hace 8 años12
@3dCasual
Mostrar cita
@Ikergarcia1996
Mostrar cita
@3dCasual
Mostrar cita
Perdonad pero no me he podido resistir de poner este enlace: (ojo a los subtitulos). https://m.youtube.com/watch?v=Dnn0rgDaSro Casi me parto el ojete
Razón no le falta, estamos a septiembre y es ahora cuando han empezado a desarrollar los drivers para DX12 y por el benchmark de AoS, que si no hubieran seguido echándose la siesta... ¿Que han estado haciendo todo el verano? Esperemos que tengan listos los drivers para cuando llegue el primer juego DX12
Pues en mi humilde opinión la cosa pinta bastante mal para los que tenemos cualquier Nvidia en cuanto a los Async Shaders. Desde hace más de un lustro Nvidia dispone de cierto paralelismo pero nunca ha incluido un planificador/dispatcher/gestor de colas en el HW que se sepa (los ACE de AMD). Así que en Nvidia el driver se encargaba de repartir la faena. Cojonudo para Dx11 y optimizar drivers para juegos específicos, además barato, HW básico y optimizando el rendimiento mediante SW (drivers) aprovechando que las CPU's van algo sobradas por la falta de paralelismo de Dx11. Pero ahora el driver no puede repartirla porqué las aplicaciones directamente envían comandos a la GPU y la GPU, aparentemente, no tiene la más minima idea de organizar, paralelizar, etc... por lo que, lógicamente, trabaja en serie: una cosa detrás de otra. Ya veremos que hacen pero como no envíen ingenieros de Nvidia a las grandes compañías para que intenten "optimizar" el código Dx12 para que funcione medianamente bien en su HW creo que lo tienen crudo. No debería haberme sorprendido. Cuando activas PhysX el rendimiento cae ligeramente lo que indica que el código PhysX es ejecutado en serie con el resto, no en paralelo, lo cual hubiera tenido mucho más sentido.
Yo la verdad es que no creo que vaya a ver un aumento de rendimiento significativo, ni para Nvidia ni para AMD, tenemos el ejemplo de mantle que lleva ya tiempo en el mercado, y la mejora es bastante discreta, los milagros no existen. Los únicos juegos donde creo que se va a notar DX12 es los juegos tipo total war donde hay cientos de solditos peleando y saturan el procesador, en esos juegos si que se notará DX12 por las shaders asíncronas, pero en el resto no, y menos con las consolas y su procesador de tablet lastrandonos (que bueno, también podemos mirar el lado bueno, gracias a ellas no tendremos que cambiar de procesador en mucho tiempo). Lo que si que espero es que DX12 ayude a ver menos cutreports y que los juegos estén mejor optimizados ne general.
MrSister1325Hace 8 años13
@3dCasual
Mostrar cita
Y como sabes que Pascal soporta Async Shaders ??? Además, si quieren que les compre otro hierro lo tiene CRUDO.
ese es el punto: no lo se. de hecho nvidia dice que llevan trabajando en pascal 3 o 4 años ya y no se si ni siquiera ellos podian ver venir dx12 por aquel entonces asi que no me sorprenderia si resultara que tampoco tiene soporte nativo para computo asincrono porque ya se sabe que no es el estilo de nvida el hacer hardware que envejezca bien. no soy ingeniero, pero si este fuera el caso, no creo que se puedan implementar segun que cambios en una arquitectura en avanzado estado de gestacion.
@Ikergarcia1996
Mostrar cita
Yo la verdad es que no creo que vaya a ver un aumento de rendimiento significativo, ni para Nvidia ni para AMD, tenemos el ejemplo de mantle que lleva ya tiempo en el mercado, y la mejora es bastante discreta, los milagros no existen. Los únicos juegos donde creo que se va a notar DX12 es los juegos tipo total war donde hay cientos de solditos peleando y saturan el procesador, en esos juegos si que se notará DX12 por las shaders asíncronas, pero en el resto no, y menos con las consolas y su procesador de tablet lastrandonos (que bueno, también podemos mirar el lado bueno, gracias a ellas no tendremos que cambiar de procesador en mucho tiempo).
no es muy acertado extrapolar que directx o vulkan no cumpliran lo que prometen solo porque mantle no saliera bien. directx y vulkan solo se nutren de las ideas de mantle, la implementacion queda a cargo de microsoft/khronos y a diferencia de amd estas se dedican al software. no creo que hallan hecho copypaste del codigo de mantle y lo hallan pegado en las liberias de dx12. en cuanto a las consolas, menosprecialas cuanto quieras pero son las que mueven el mundo del videojuego y estas llevan toda la vida trabajando mucho mas cerca del hardware que el pc. para que te hagas una idea glide fue la ultima api de bajo nivel que hemos tenido en el mundo del videojuego y simplemente barria a direct3d. y directx solo ha tenido desarrollo significativo desde que existe xbox. con todas las consolas actuales usando chips amd y usando ya calculo asincrono es logico pensar que muchos de los trucos que usen los devs en consolas puedan llegar ahora mas facilmente a pc. y lo que es mas, se rumoreaba que ps4 podria dar soporte para vulkan lo cual seria un paso muy importante para esta api y de la cual nos beneficiariamos todos (excepto microsoft )
EDITADO EL 06-09-2015 / 03:39 (EDITADO 1 VEZ)
1 VOTO
Ikergarcia19969072Hace 8 años14
@MrSister
Mostrar cita
@3dCasual
Mostrar cita
Y como sabes que Pascal soporta Async Shaders ??? Además, si quieren que les compre otro hierro lo tiene CRUDO.
ese es el punto: no lo se. de hecho nvidia dice que llevan trabajando en pascal 3 o 4 años ya y no se si ni siquiera ellos podian ver venir dx12 por aquel entonces asi que no me sorprenderia si resultara que tampoco tiene soporte nativo para computo asincrono porque ya se sabe que no es el estilo de nvida el hacer hardware que envejezca bien. no soy ingeniero, pero si este fuera el caso, no creo que se puedan implementar segun que cambios en una arquitectura en avanzado estado de gestacion.
@Ikergarcia1996
Mostrar cita
Yo la verdad es que no creo que vaya a ver un aumento de rendimiento significativo, ni para Nvidia ni para AMD, tenemos el ejemplo de mantle que lleva ya tiempo en el mercado, y la mejora es bastante discreta, los milagros no existen. Los únicos juegos donde creo que se va a notar DX12 es los juegos tipo total war donde hay cientos de solditos peleando y saturan el procesador, en esos juegos si que se notará DX12 por las shaders asíncronas, pero en el resto no, y menos con las consolas y su procesador de tablet lastrandonos (que bueno, también podemos mirar el lado bueno, gracias a ellas no tendremos que cambiar de procesador en mucho tiempo).
no es muy acertado extrapolar que directx o vulkan no cumpliran lo que prometen solo porque mantle no saliera bien. directx y vulkan solo se nutren de las ideas de mantle, la implementacion queda a cargo de microsoft/khronos y a diferencia de amd estas se dedican al software. no creo que hallan hecho copypaste del codigo de mantle y lo hallan pegado en las liberias de dx12. en cuanto a las consolas, menosprecialas cuanto quieras pero son las que mueven el mundo del videojuego y estas llevan toda la vida trabajando mucho mas cerca del hardware que el pc. para que te hagas una idea glide fue la ultima api de bajo nivel que hemos tenido en el mundo del videojuego y simplemente barria a direct3d. y directx solo ha tenido desarrollo significativo desde que existe xbox. con todas las consolas actuales usando chips amd y usando ya calculo asincrono es logico pensar que muchos de los trucos que usen los devs en consolas puedan llegar ahora mas facilmente a pc. y lo que es mas, se rumoreaba que ps4 podria dar soporte para vulkan lo cual seria un paso muy importante para esta api y de la cual nos beneficiariamos todos (excepto microsoft )
No es lo mismo trabajar a bajo nivel en consolas que en PC, las consolas tienen todas el mismo hardware, por lo que la optimización es mucho más sencilla, es PC es bastante más complicado y nunca se llegará al nivel de optimización de los juegos en consola. Respecto a DX12, me cuesta creer que de repente todas las gráficas vayan a rendir el doble ¿que pasa, que los programadores hasta ahora eran tontos y no sabían optimizar? ya veremos que pasa, pero vamos, si de repente las gráficas duplican el rendimiento yo me sentiría estafado, supondría que llevamos años gastándonos dinero en gráfica que no se aprovechan...
Asim10924Hace 8 años15
@Ikergarcia1996
Mostrar cita
@MrSister
Mostrar cita
@3dCasual
Mostrar cita
Y como sabes que Pascal soporta Async Shaders ??? Además, si quieren que les compre otro hierro lo tiene CRUDO.
ese es el punto: no lo se. de hecho nvidia dice que llevan trabajando en pascal 3 o 4 años ya y no se si ni siquiera ellos podian ver venir dx12 por aquel entonces asi que no me sorprenderia si resultara que tampoco tiene soporte nativo para computo asincrono porque ya se sabe que no es el estilo de nvida el hacer hardware que envejezca bien. no soy ingeniero, pero si este fuera el caso, no creo que se puedan implementar segun que cambios en una arquitectura en avanzado estado de gestacion.
@Ikergarcia1996
Mostrar cita
Yo la verdad es que no creo que vaya a ver un aumento de rendimiento significativo, ni para Nvidia ni para AMD, tenemos el ejemplo de mantle que lleva ya tiempo en el mercado, y la mejora es bastante discreta, los milagros no existen. Los únicos juegos donde creo que se va a notar DX12 es los juegos tipo total war donde hay cientos de solditos peleando y saturan el procesador, en esos juegos si que se notará DX12 por las shaders asíncronas, pero en el resto no, y menos con las consolas y su procesador de tablet lastrandonos (que bueno, también podemos mirar el lado bueno, gracias a ellas no tendremos que cambiar de procesador en mucho tiempo).
no es muy acertado extrapolar que directx o vulkan no cumpliran lo que prometen solo porque mantle no saliera bien. directx y vulkan solo se nutren de las ideas de mantle, la implementacion queda a cargo de microsoft/khronos y a diferencia de amd estas se dedican al software. no creo que hallan hecho copypaste del codigo de mantle y lo hallan pegado en las liberias de dx12. en cuanto a las consolas, menosprecialas cuanto quieras pero son las que mueven el mundo del videojuego y estas llevan toda la vida trabajando mucho mas cerca del hardware que el pc. para que te hagas una idea glide fue la ultima api de bajo nivel que hemos tenido en el mundo del videojuego y simplemente barria a direct3d. y directx solo ha tenido desarrollo significativo desde que existe xbox. con todas las consolas actuales usando chips amd y usando ya calculo asincrono es logico pensar que muchos de los trucos que usen los devs en consolas puedan llegar ahora mas facilmente a pc. y lo que es mas, se rumoreaba que ps4 podria dar soporte para vulkan lo cual seria un paso muy importante para esta api y de la cual nos beneficiariamos todos (excepto microsoft )
No es lo mismo trabajar a bajo nivel en consolas que en PC, las consolas tienen todas el mismo hardware, por lo que la optimización es mucho más sencilla, es PC es bastante más complicado y nunca se llegará al nivel de optimización de los juegos en consola. Respecto a DX12, me cuesta creer que de repente todas las gráficas vayan a rendir el doble ¿que pasa, que los programadores hasta ahora eran tontos y no sabían optimizar? ya veremos que pasa, pero vamos, si de repente las gráficas duplican el rendimiento yo me sentiría estafado, supondría que llevamos años gastándonos dinero en gráfica que no se aprovechan...
La verdad es que hasta ahora la optimización ha brillado por su ausencia, esperemos que exista una mejora rotunda. Lo de que te sentirías estafado, porque?, no es nada nuevo eso de que el pc rinde por debajo de sus posibilidades, lo sabemos todos, si a partir de ahora hubiera una mejora del doble bienvenida sea, mucho mejor que estar como hasta ahora
Responder / Comentar
Anterior
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