Rendimiento DirectX 12 y API PS4

1, 2, 3, 4, 5, 632
josemurcia escribió:El programador jefe de la versión de PS4 de PCARS dijo hace 1 mes y poco lo siguiente:

Imagen

La verdad es que viendo el modelo de driver de Microsoft, parece a todas luces una cagada en comparación con PS4. Las palabras de este tío implican que PS4 siempre se va a poder exprimir más que ONE. Y por lo tanto Vulkan en PS4 sería un wrapper sobre GNM y el único beneficio que aportaría sería facilitar la portabilidad a costa de rendimiento.


O sea, que según este hombre, en PS4 no existe la capa intermedia con el driver, sino que actúan directamente sobre la GPU.
Tal y como comentas, el uso de cualquier API por encima seguramente no aportaría muchos beneficios. También hay que señalar que ese sistema es más acertado que el que usa Xbox One, tal y como comentas.

Un saludo.
Edito : borrado

Bah. Paso.
Lo que dice Brad en este caso parece ser cierto.
Imagen

Lo cual no quiere decir que tenga los mismos problemas que DX11 en PC.

Stock Direct3D vs. Monolithic Direct3D

In older Xbox One releases, the graphics driver was based on D3D11.dll, referred to below as “stock Direct3D”. With stock Direct3D, CPU performance of command-list playback is less than it should be; the DLL performs processing that is unnecessary on Xbox One.

On the other hand, Monolithic Direct3D is designed to be “lean and mean” and to take full advantage of Xbox One hardware, providing significantly better CPU playback performance and better CPU performance overall.


Pero efectivamente parece ser como dice el dev de PCARS, el problema de ONE es que la comunicación con la GPU no es tan explícita como en PS4, y con DX12 se mejorará, pero seguirá sin ser tan óptima como en PS4.
En entornos con múltiples configuraciones posibles de GPU como en PC, estas API intermedias son estrictamente necesarias, pero en configuraciones cerradas como Xbox One, no sé por qué Microsoft ha optado por este sistema, ya que están provocando que la comunicación con la GPU no sea tan directa como pudiera ser.

DirectX12 mejora ese tipo de comunicación haciendo que sea a más bajo nivel, con lo cual, supondrá una mejora de rendimiento, aunque todavía no sabemos qué porcentaje de mejora puede suponer respecto a la API actual, la cual ya tiene activadas algunas de las features de DX12.

Creo que MS no ha tomado la decisión más inteligente en este asunto a la hora de diseñar la Xbox One...

Un saludo.
David Ricardo escribió:Por lo que se ve, este hombre lo mismo te dice una cosa que la contraria. Primero dx12 era como una 2a gpu para one, o iba a duplicar el rendimiento, ahora dice que no va a ser pa tanto y nadie sabe lo que traerá pa one, especialmente él que nó está trabajando con ello. Entonces, ¿con qué nos quedamos?

A ver si sale Microsoft con un benchmark y nos saca de dudas, porque esto es el misterio sin fin.

Yo creo que siempre se ha referido desde DX11 puro, almenos cuando ha dado numeros diferenciales concretos y no ha hablado de que simplemente habra una mejora sin o dificil de cuantificar.

No creas que un benchmark interesado sobre un proceso concreto iba a valer de demasiado tampoco, porque luego un juego son mil cosas y depende de tecnicas y pesos. Al final como siempre son los juegos los que tienen que hablar, ellos ya han dicho que vienen titulos DX12, y ahi se tendra que ver lo que hay respecto a la api actual.

David Ricardo escribió:En cualquier caso, las opiniones actuales de Brad Wardell no son muy halagüeñas para DirectX12 en One.

Porque? Porque ha dicho que el boost de DX12 no es el mismo desde DX11 puro que desde ONE? Eso es bastante obvio y no contradice ni implica nada.
NeCLaRT escribió:Yo creo que siempre se ha referido desde DX11 puro, almenos cuando ha dado numeros diferenciales concretos y no ha hablado de que simplemente habra una mejora sin o dificil de cuantificar.

No creas que un benchmark interesado sobre un proceso concreto iba a valer de demasiado tampoco, porque luego un juego son mil cosas y depende de tecnicas y pesos. Al final como siempre son los juegos los que tienen que hablar, ellos ya han dicho que vienen titulos DX12, y ahi se tendra que ver lo que hay respecto a la api actual.

Yo, después de leer lo que acaba de decir de que nadie sabe la mejora que puede traer dx12 en One, me da la impresión de que estuvo hablando de PC todo el rato y lo que dijo de One se lo inventó. Pero bueno, eso son las interpretaciones de cada uno, la cuestión es que ahora dice que no tiene ni idea de lo que traerá dx12 a one.

Lo del Benchmark sí me parece interesante porque te pone un punto de guía. Como hicieron en PC. Dicen que mejora el rendimiento de CPU hasta un 50% y en el caso de Fable el rendimiento de GPU mejora un 20%. Pues yo creo que nos venía muy bien que dijesen que en one la mejora en CPU puede llegar hasta un XX% y en Halo 5 ó Forza 6 la mejora de GPU es de XX%. Eso nos diría mucho, aunque ya sepamos que luego dependiendo del juego tal y pascual, te da una idea de por donde van los tiros.

NeCLaRT escribió:Porque? Porque ha dicho que el boost de DX12 no es el mismo desde DX11 puro que desde ONE? Eso es bastante obvio y no contradice ni implica nada.

No implica mucho desde el punto de vista de que él mismo te dice que no tiene ni idea de como afecta a One, pero de sus comentarios se deduce que a One le afecta bastante menos que a PC. Y eso contradice las expectativas de muchos foreros que puedes leer en subforos de este y otros foros.
No esperéis benchmarks en consolas, se dedicarán todos los recursos a hacer juegos.

Respecto a lo del driver, con el nuevo y más aún su versión DX12, junto a la API que ofrece el resto de accesos pertinentes, por fin XOne se equipara en aprovechamiento. Es como debió ser desde el principio pero no estaba listo.
En general tanto los comentarios de Philp como los de los devs están en la misma línea, el que tiene un gran margen de mejora es el PC, la one con su api ya a conseguido mejorar mucho y en los multis podemos apreciar que casi depende mas del desarroyador que de la consola que la balanza se decante hacia cada lado

Lo de nuevo paradigma con la nueva api,cosa con lo que se pajean algunos, a que se refieren?, por que yo no le he leído a nadie de la industria nada de nuevo paradigma,solo adaptar engines a directx12 y punto, no?
David Ricardo escribió:
NeCLaRT escribió:Porque? Porque ha dicho que el boost de DX12 no es el mismo desde DX11 puro que desde ONE? Eso es bastante obvio y no contradice ni implica nada.

No implica mucho desde el punto de vista de que él mismo te dice que no tiene ni idea de como afecta a One, pero de sus comentarios se deduce que a One le afecta bastante menos que a PC. Y eso contradice las expectativas de muchos foreros que puedes leer en subforos de este y otros foros.

También dice claramente que xbox one no tiene un dx11 puro de pc , cosa a la que se cojen muchos para decir que si dx11 no puede hacer x la xbox one tampoco por que usa dx11 , cosa que no es a sin , el dx de xbox one es especial para xbox one y tiene cosas que no tiene e dx11 de pc , se a dicho muchas veces que xbox one ya puede usar unas cuantas cosas de dx12
eloskuro está baneado del subforo por "flames"
Dx11 es dx11... Por mucho ke tebga funciones similares el codigo es diferente. Pensaba ke eso ya lo tenias claro
eloskuro escribió:Dx11 es dx11... Por mucho ke tebga funciones similares el codigo es diferente. Pensaba ke eso ya lo tenias claro

Sí puedes hacer cosas similares sigues pudiendo hacerlas antes de DX12, aunque ahora cambies la sintaxis. Y con hardware cerrado estarás mucho menos restringido que con hardware abierto, así que de optimizacion de código irá servida. Creer que X1 montaba Dx11 a pelo si que seria de no tenerlo muy claro, no.

Ahora, otra cosa es que se abran puertas a desarrolladores de PC y se animen a cruzarlas debido a las posibilidades que ofrecen Vulkan y DX12.
eloskuro escribió:Dx11 es dx11... Por mucho ke tebga funciones similares el codigo es diferente. Pensaba ke eso ya lo tenias claro

Y eso a que biene y por que ? Y dx11 no es solo una versión , existen varias .
Que el código es diferente , y quien a dicho lo contrario ?
Solo bienes a trolear ?
Creo q "biene" a hablar de cosas q tienen mas sentido de lo q crees.

Quien te crees q eres para "benir" a decirle a nadie lo q puede o no puede decir?

Ni ha faltado al respeto a nadie ni ha flameadp.

Asi q no se a q "biene" tu comentario.

Post data: Mis hogos!!!
Buenas noches.

Si cogemos el camino del ataque personal, en vez de poner un miniban, empezaremos a poner banes mucho mas largos.
En vuestras manos esta.
eloskuro está baneado del subforo por "flames"
J_Ark escribió:
eloskuro escribió:Dx11 es dx11... Por mucho ke tebga funciones similares el codigo es diferente. Pensaba ke eso ya lo tenias claro

Sí puedes hacer cosas similares sigues pudiendo hacerlas antes de DX12, aunque ahora cambies la sintaxis. Y con hardware cerrado estarás mucho menos restringido que con hardware abierto, así que de optimizacion de código irá servida. Creer que X1 montaba Dx11 a pelo si que seria de no tenerlo muy claro, no.

Ahora, otra cosa es que se abran puertas a desarrolladores de PC y se animen a cruzarlas debido a las posibilidades que ofrecen Vulkan y DX12.



Mira los primeros updates del sdk y llora xD. Era casi a pelo. Tardaron muchos meses en meterle las funciones de ir a bajo nivel.

Ahora está mucho mejor, pero lo que es claro es que la API actual no será la futira API de xbox one. Será un API specifca de DX12 para xbox one.

Imagen
El otro dia alguien puso en el hilo del interior de One un link a una presentacion de la GDC, y buscando por alli encontre esta presentacion de 2013 que me parecio muy interesante. Es sobre el lenguaje de programacion de los shaders de PS4. Lo dejo por aqui por si le interesa a alguien echarle un vistazo.

http://www.gdcvault.com/play/1019252/Pl ... nguage-for

Ya se mencionan algunas cosas como PRTs (tiled resources) y voxel cone tracing.

Un saludo!
Bueno leyendo los últimos post, en cualquier caso aunque se puedan hacer cosas "parecidas" no es lo mismo. Redirecciono nuevamente:

http://www.elotrolado.net/viewtopic.php?p=1738639620
D3D12 allows developers to avoid accidentally running into inefficiencies caused by unexpected synchronization delays. It also allows developers to introduce synchronization at a higher level where the required synchronization can be determined with greater certainty


Es decir que ni son lo mismo y en DX11, al ir controlado por la API, no se garantiza sincronización. Con lo cual es normal que no se esté tomando la molestia de usarlo para que luego no sirva de nada.

Respecto a lo del driver, si nos fijamos lo mete entre comillas. ¿Qué nos pensamos que es un driver?
http://en.wikipedia.org/wiki/Device_driver
In computing, a device driver (commonly referred to as a driver) is a computer program that operates or controls a particular type of device that is attached to a computer.[1] A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used.

A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface
...
Writing a device driver requires an in-depth understanding of how the hardware and the software works for a given platform function. Because drivers require low-level access to hardware functions in order to operate

Vamos que no es más que la implementación de lo mismo que si lo hicieras directamente, y luego eso podrás usarlo desde fuera pero sin necesidad de conocer el hardware. Porque al final el control de un periférico no es más que accesos adecuados a los puertos (IN/OUT) y transferencias de datos. No nos pensemos que un driver ahora se pone a echar una partida de ajedrez. Cuando un driver es malo, es porque no gestiona bien las interrupciones o no usa bien recursos de la CPU que tuviera disponibles (como extensiones de instrucciones que podrían acelerar procesos como transferencias). Pero un driver bien hecho, y es algo mucho más fácil en una máquina cerrada, es lo mismo que coger de tu binario los trozos de código de control del periférico y ponerlos en otro fichero (como un DLL) para su uso modular. Dicho de otra forma, es como cambiar de sitio la función de tu binario a un fichero externo, cosa que da igual porque se carga en memoria igualmente.

Es por eso que lo pone entre comillas, porque driver en PS4 existe (ya que va bajo el control de un SO), pero es prácticamente un bypass de comandos. Con un driver monolítico, y viendo como funciona DX12, donde el control es de la aplicación y no de la API (la API que usa por su cuenta y con su propia implementación la CPU para temas de control), el tipo de driver pasa a ser de ese tipo.
eloskuro está baneado del subforo por "flames"
Aqui teneis un poco de la tecnologia que se usa en Quantum Break. Es un juego que está en base a DX11 con funciones especificas para xbox one. Es el típico juego first, con ucho presupuesto, con el que pueden jugar a bajo nivel y hacer pruebas(la mayoria de juegos no pueden, por falta de medios, tiempo etc etc...)

Están usando C++ y D

Imagen

Usa deferred lighting en vez de forwad + como forza horizon 2.

Imagen

Occlusion culling
Imagen


---

A lo que voy. Con alto nivel de presupuesto y recursos, puedes salvar muchos porblemas incluso con DX11, pero la realida de los juegos multi no es así. Necesitan herramientas que les faciliten la vida. DX12 y sus herramientas van enfocadas a ello. Además de que cuando el Dev quiera, pueden ir a bajo nivel, tanto como quieran.

Ya tuvimos una discusión sobre esto. O es bajo nivel o no es bajo nivel. No hay APIS a medioo nivel xD

Tanto Vulkan, como Mantle, como DX12 son bajo nivel. Pues cuando quieras te dan el control de todo(bajo tu responsabilidad)

PD: Flipo como una web como eloterolado puede declarar otra web española normal y corriente como spam O_o Hay que joderse
No lo entiendo muy bien , los driver siempre an sido para que el SO sepa utilizar el hardware , no entiendo la relación directa entre driver y dx12 , como si fuesen a sacar driver para dx12 , otra cosa es que no termino de entender los SO de xbox one y su funcionamiento con el hardware , que no tiene nada que ver con ps4 o un pc
eloskuro está baneado del subforo por "flames"
Aqui teneis toda la info que he puesto en video. Era mejor lo de las fotos, pero al parecer son SPAM ¬¬

http://www.gdcvault.com/play/1022402/

Edito: A ver si con imgur...
Imagen
nanoxxl escribió:No lo entiendo muy bien , los driver siempre an sido para que el SO sepa utilizar el hardware , no entiendo la relación directa entre driver y dx12 , como si fuesen a sacar driver para dx12 , otra cosa es que no termino de entender los SO de xbox one y su funcionamiento con el hardware , que no tiene nada que ver con ps4 o un pc

Las capas de abstracción van en el driver. La interfaz es común a todo hardware, ya sea en Direct3D, OpenGL o Vulkan. Luego para cada hardware habrá que hacer una implementación distinta de la especificación de las APIs para que las APIs hagan lo que se supone que tienen que hacer.

Otra cosa es una consola, donde no hay necesidad de esto al ser el hardware único, y normalmente es lo que tu dices, el driver simplemente comunica el SO con el hardware y se da una interfaz de acceso directo al hardware, GNM en el caso de PS4, y luego sobre esta se construyen capas de abstracción, GNMX en este caso.

Las APIs nuevas no son más que un intento de generalizar este acceso directo al hardware que hay en consolas para múltiples hardwares. Sigue habiendo ese middleware en el driver, pero es mínimo comparado con DirectX11 u OpenGL(no encuentro ahora cifras, pero creo recordar que un driver de Vulkan tendría aproximadamente la tercera parte de lineas de código que uno de OpenGL) y se trabaja de una forma más explícita, lo cual tiene su lado malo, y es que gran parte del trabajo del driver ahora queda en manos de la aplicación, con lo cual los desarrolladores tendrán que inventar nuevos patrones escalables a distintos requisitos de hardware.

Por algún motivo(supongo que facilidad de porteo con Windows) Microsoft ha decidido que lo mejor para ONE es utilizar el modelo de driver de PC, pero quitando ellos del driver todo lo que no tenga que ver con el hardware de ONE.
eloskuro está baneado del subforo por "flames"
Suposición
Para mi el motivo por el cual la API de xbox one es DX11.2 light, es porque estaban haciendo DX12, PS4 les pilló de impreviso, y decidieron parchear lo que tenian, hasta que saliese la API especifica de Windows 10,(xbox one y PC compartirán SO, el susodicho Windows 10) , que es DX12.

La nueva API se quitará mucha paja de por medio, gracias a que solo se podrá utilizar en Windows 10. La retrocompatibilidad de la que siempre ha hecho gala MS, esta vez no les lacrará frente a sus competidor Linux.
Para el resto de SO windows se usará DX11.3, que será algo así como lo que usaba ahora XBO


Imagen

Se puede ver cómo hasta hoy en DX11 preparas y pintas el draw 1 y después preparas y puntas el draw 2. En DX12 preparas los 2 y los 2 los renderiza al mismo tiempo.
¿Cómo va a favorecer a Microsoft que DX12 solo funcione en W10 mientras Vulkan pueda funcionar hasta en Windows Vista?
eloskuro está baneado del subforo por "flames"
josemurcia escribió:¿Cómo va a favorecer a Microsoft que DX12 solo funcione en W10 mientras Vulkan pueda funcionar hasta en Windows Vista?


No sé de que hablas xD

En la API solo favorece con respecto a quitarse codigo con respecto a Dx11. Yo hablaba de mejor situacion en cuanto SO´s. No hablo de lucha de APIS. Lee bien mi post


Que luego Vulkan sea mejor o peor, tenga mas o menos paja, o lo que sea, no lo sé.
eloskuro escribió:Suposición
Para mi el motivo por el cual la API de xbox one es DX11.2 light, es porque estaban haciendo DX12, PS4 les pilló de impreviso, y decidieron parchear lo que tenian, hasta que saliese la API especifica de Windows 10,(xbox one y PC compartirán SO, el susodicho Windows 10) , que es DX12.

La nueva API se quitará mucha paja de por medio, gracias a que solo se podrá utilizar en Windows 10. La retrocompatibilidad de la que siempre ha hecho gala MS, esta vez no les lacrará frente a sus competidor Linux.
Para el resto de SO windows se usará DX11.3

Y mi opinión es que no , cuando salga dx12 la xbox one llevara 2 años a la venta , la verdad es que cansa ya la escusa de que microsoft adelanto la salida de xbox one por culpa de sony , si microsoft tenia pensado sacar xbox one junto a dx12 el hardware de xbox one no estaría cerrado casi 3 años antes que el dx12 , igual que la primera consola en presentarse físicamente de fue xbox one , recuerdo el cachodeo de que microsoft presento la consola ( físicamente ) y sony solo vídeo de juegos ( vendiendo humo ) , la consola se mostró mas tarde
eloskuro está baneado del subforo por "flames"
nanoxxl escribió:
eloskuro escribió:Suposición
Para mi el motivo por el cual la API de xbox one es DX11.2 light, es porque estaban haciendo DX12, PS4 les pilló de impreviso, y decidieron parchear lo que tenian, hasta que saliese la API especifica de Windows 10,(xbox one y PC compartirán SO, el susodicho Windows 10) , que es DX12.

La nueva API se quitará mucha paja de por medio, gracias a que solo se podrá utilizar en Windows 10. La retrocompatibilidad de la que siempre ha hecho gala MS, esta vez no les lacrará frente a sus competidor Linux.
Para el resto de SO windows se usará DX11.3

Y mi opinión es que no , cuando salga dx12 la xbox one llevara 2 años a la venta , la verdad es que cansa ya la escusa de que microsoft adelanto la salida de xbox one por culpa de sony , si microsoft tenia pensado sacar xbox one junto a dx12 el hardware de xbox one no estaría cerrado casi 3 años antes que el dx12 , igual que la primera consola en presentarse físicamente de fue xbox one , recuerdo el cachodeo de que microsoft presento la consola ( físicamente ) y sony solo vídeo de juegos ( vendiendo humo ) , la consola se mostró mas tarde


Has leido el SDK de MS filtrado? porque parece que quieres desinformar, cuando David ricardo ha dicho que nos ciñamos a datos.... Si lo lees ves claramente que la API de MS era un desproposito al princpio de generación. Eso es que le pillaron con con la guardia baja. Y lo sabes.

http://www.eurogamer.net/articles/digitalfoundry-2015-evolution-of-xbox-one-as-told-by-sdk-leak
eloskuro escribió:Has leido el SDK de MS filtrado? porque parece que quieres desinformar, cuando David ricardo ha dicho que nos ciñamos a datos.... Si lo lees ves claramente que la API de MS era un desproposito al princpio de generación. Eso es que le pillaron con con la guardia baja. Y lo sabes.

Un SDK filtrado de casualidad ? Que le pillaron con la guardia bajada es un dato real o una especulación ? Como puede se un despropocito ? Terminaron el hardware y después iniciaron la api ? Y lo del kinect y el despropósito que le rosea también es por las prisas ?
Y no quiero desinformar , yo no estoy asegurando nada , doy mi opinión
eloskuro está baneado del subforo por "flames"
nanoxxl escribió:
eloskuro escribió:Has leido el SDK de MS filtrado? porque parece que quieres desinformar, cuando David ricardo ha dicho que nos ciñamos a datos.... Si lo lees ves claramente que la API de MS era un desproposito al princpio de generación. Eso es que le pillaron con con la guardia baja. Y lo sabes.

Un SDK filtrado de casualidad ? Que le pillaron con la guardia bajada es un dato real o una especulación ? Como puede se un despropocito ? Terminaron el hardware y después iniciaron la api ? Y lo del kinect y el despropósito que le rosea también es por las prisas ?
Y no quiero desinformar , yo no estoy asegurando nada , doy mi opinión


el sdk que filtraron, se ha ido actualizando segun ves en ela iteraciones marcadas. Si no fuese exactaente así, ya hubiese salido cualquier Dev dicendo que es mentira y que ellos tenian otros sdk... ¿conspiranoia?
Buenos días.

Se pidió ceñirse a datos precisamente para evitar este tipo de discusiones, que por mucho que pongáis en spoiler, siguen estando en el hilo.
Como ya avise ayer, de vosotros depende poder seguir participando en el hilo.
eloskuro está baneado del subforo por "flames"
http://www.eurogamer.net/articles/digitalfoundry-2015-evolution-of-xbox-one-as-told-by-sdk-leak

February to November 2014 - and beyond

There's a big hole in the Xbox One documentation, with no additional "What's New" notes posted between August 2013 and February 2014. Whether they were simply omitted or do not exist at all isn't clear. However, early 2014 is a crucial period for Microsoft, as it attempts to correct its wonky launch strategy and to address the GPU differential with PlayStation 4 as best as it can. Straight away we see notes indicating that developers now have more control over ESRAM resource management - apparently a bottleneck for many launch titles.

Graphics: [/b[b]]Throughout the coming months there are plenty of updates corresponding to the low-level D3D monolithic runtime. Hardware video encoding/decoding is added in March, along with asynchronous GPU compute support. By May, support for the user-mode driver is completely removed in favour of the mono-driver, explaining (in part at least) the marked improvement in Xbox One GPU performance in shipping titles from Q2 2014 onwards. The focus on the mono-driver appears to pay off as throughout 2014, Microsoft posts GPU performance improvements nearly every month, including some remarkable increases in draw call efficiency in July.
ahona escribió:Buenos días.

Se pidió ceñirse a datos precisamente para evitar este tipo de discusiones, que por mucho que pongáis en spoiler, siguen estando en el hilo.
Como ya avise ayer, de vosotros depende poder seguir participando en el hilo.

Una duda. Para rebatir datos es necesario tambien una fuente ? . O con la opinion basta?

Pregunto solo.
eloskuro está baneado del subforo por "flames"
Imagen

YA con esto tiene que bastar :P
¿Hay algún test que se le haya pasado a tarjetas Nvidia anteriores a Maxwell?. Se que de paralelismo me voy olvidando pero por lo menos a ver que tal anda de uso de CPU y drawcalls.
@eloskuro se que el SDK actual tiene poco que ver con el primero y que dx12 traerá cosas buenas para xbox one , pero se tendrá que ver la mejora , para ver a la xbox one al 100% tendremos que esperar a que se implemente el dx12
darksch escribió:¿Hay algún test que se le haya pasado a tarjetas Nvidia anteriores a Maxwell?. Se que de paralelismo me voy olvidando pero por lo menos a ver que tal anda de uso de CPU y drawcalls.

El de 3DMark. La principal mejora de DX12 es independiente del feature level.

Imagen
Grinch escribió:Una duda. Para rebatir datos es necesario tambien una fuente ? . O con la opinion basta?

Pregunto solo.

Hombre, esa opinion estará fundada en algo, no? De algún lado habrá salido, ya sea porque se han visto datos en otro lado o por lo que sea.
Si se respalda con eso, el debate sera mucho mas sano. Si se rebaten con un "porque lo digo yo, y como soy yo, tienes que creerme" pues volvemos a lo mismo de antes.
josemurcia escribió:
darksch escribió:¿Hay algún test que se le haya pasado a tarjetas Nvidia anteriores a Maxwell?. Se que de paralelismo me voy olvidando pero por lo menos a ver que tal anda de uso de CPU y drawcalls.

El de 3DMark. La principal mejora de DX12 es independiente del feature level.

[img]http://images.anandtech.com/graphs/graph9112/73050.png[/ img]

Viendo esta gráfica de mejora en drawcalls de dx12 y el enlace que ha posteado eloskuro donde dicen que en julio de 2014 el rendimiento de la gpu de one tuvo una mejora extraordinaria en drawcalls, parece que es una de las mejoras que traerá a pc directx12 que ya llevan algún tiempo disponibles en xbox one.
David Ricardo escribió:
josemurcia escribió:
darksch escribió:¿Hay algún test que se le haya pasado a tarjetas Nvidia anteriores a Maxwell?. Se que de paralelismo me voy olvidando pero por lo menos a ver que tal anda de uso de CPU y drawcalls.

El de 3DMark. La principal mejora de DX12 es independiente del feature level.

[img]http://images.anandtech.com/graphs/graph9112/73050.png[/ img]

Viendo esta gráfica de mejora en drawcalls de dx12 y el enlace que ha posteado eloskuro donde dicen que en julio de 2014 el rendimiento de la gpu de one tuvo una mejora extraordinaria en drawcalls, parece que es una de las mejoras que traerá a pc directx12 que ya llevan algún tiempo disponibles en xbox one.


Eso ya lo dijeron los del metro en su entrevista ;)... y que no tenían tiempo para utilizarla, parece que es uno de los beneficios de dx12 que lleva en One desde verano mas o menos (recordemos, algunos están pero faltan otros). La pregunta del millón es.... hay alguien mas utilizando estos temas de la API específica aparte de los del forza? Porque mi impresión personal en vista de los resultados en general es que poco se están aprovechando estos temas (tanto en one como en ps4). Es muy probable que con la salida de dx12 y vulkan los desarrolladores se pongan a estudiar estas APIs y "democratizar" todas estas técnicas nuevas que hasta ahora, que aunque estaban disponibles, no tenían tiempo y/o conocimientos para implementarlas en lanzamientos inminentes, sobre todo los multiplataforma.
Pada escribió:Eso ya lo dijeron los del metro en su entrevista ;)... y que no tenían tiempo para utilizarla, parece que es uno de los beneficios de dx12 que lleva en One desde verano mas o menos (recordemos, algunos están pero faltan otros). La pregunta del millón es.... hay alguien mas utilizando estos temas de la API específica aparte de los del forza? Porque mi impresión personal en vista de los resultados en general es que poco se están aprovechando estos temas (tanto en one como en ps4). Es muy probable que con la salida de dx12 y vulkan los desarrolladores se pongan a estudiar estas APIs y "democratizar" todas estas técnicas nuevas que hasta ahora, que aunque estaban disponibles, no tenían tiempo y/o conocimientos para implementarlas en lanzamientos inminentes, sobre todo los multiplataforma.

Es que es extraño que si el shading asíncrono estaba disponible en PS4 desde lanzamiento y en One desde el verano pasado, el battlefield hardline no lo use. Está basado en Battlefield4, que según AMD ya utilizaba shading asíncrono en PS4, por lo que no entiendo por qué no se lo pusieron a la versión de One, que tuvieron casi un año para hacerlo, y en la versión de PS4 lo quitaron. Para mí es un misterio. Especialmente en un juego que no va a fullhd en ninguna consola y tiene caídas de framerate. Podían haberlo usado para solucionar alguno de estos problemas, digo yo.

Tampoco es un juego que me importe mucho porque las betas las probé y no me dieron más, pero espero que para el próximo battlefront se pongan las pilas y utilicen todas las técnicas a su alcance para sacar el mejor resultado posible, que a ese sí que le tengo ganas.
La primera y sencilla respuesta que se me ocurre para que haya ocurrido hablando de empresas es...€€€
David Ricardo escribió:
Pada escribió:Eso ya lo dijeron los del metro en su entrevista ;)... y que no tenían tiempo para utilizarla, parece que es uno de los beneficios de dx12 que lleva en One desde verano mas o menos (recordemos, algunos están pero faltan otros). La pregunta del millón es.... hay alguien mas utilizando estos temas de la API específica aparte de los del forza? Porque mi impresión personal en vista de los resultados en general es que poco se están aprovechando estos temas (tanto en one como en ps4). Es muy probable que con la salida de dx12 y vulkan los desarrolladores se pongan a estudiar estas APIs y "democratizar" todas estas técnicas nuevas que hasta ahora, que aunque estaban disponibles, no tenían tiempo y/o conocimientos para implementarlas en lanzamientos inminentes, sobre todo los multiplataforma.

Es que es extraño que si el shading asíncrono estaba disponible en PS4 desde lanzamiento y en One desde el verano pasado, el battlefield hardline no lo use. Está basado en Battlefield4, que según AMD ya utilizaba shading asíncrono en PS4, por lo que no entiendo por qué no se lo pusieron a la versión de One, que tuvieron casi un año para hacerlo, y en la versión de PS4 lo quitaron. Para mí es un misterio. Especialmente en un juego que no va a fullhd en ninguna consola y tiene caídas de framerate. Podían haberlo usado para solucionar alguno de estos problemas, digo yo.

Tampoco es un juego que me importe mucho porque las betas las probé y no me dieron más, pero espero que para el próximo battlefront se pongan las pilas y utilicen todas las técnicas a su alcance para sacar el mejor resultado posible, que a ese sí que le tengo ganas.

¿Cómo sabes que en PS4 lo han quitado?
josemurcia escribió:¿Cómo sabes que en PS4 lo han quitado?

En la imagen de juegos que lo usan que se ha posteado anteriormente salen 4 títulos: BF4, Infamous SS y The tomorrow children en PS4 y Thief en PC. Esa imagen es de un par de semanas después del lanzamiento de hardline, me imagino que si lo utilizase lo habrían puesto en la lista.
Puede que simplemente no hayan querido poner 3 ejemplos y BF4 es más significativo que hardline. Tampoco dice que solo esos 3 los usen.
Ya lo dije, porque para usar eso en XOne hay que usar la API exclusiva que al ser algo totalmente ajeno a DX no parece usarse mucho que digamos (además de que al ser algo distinto no sabemos que o como se podrá integrar con código DX de manera más o menos asequible). En DX11 está eso que llaman contextos que no es lo mismo como se puede leer en la documentación oficial de DX12.
josemurcia escribió:Puede que simplemente no hayan querido poner 3 ejemplos y BF4 es más significativo que hardline. Tampoco dice que solo esos 3 los usen.

Ya, nos vendría bien algún texto acompañando esas imágenes. Tal como está escrito es cierto que, aunque parezca que sólo son esos 3, tampoco está especificado que no haya más. Sin ir más lejos, el Infamous First Light seguro que lo usa y no sale. Es más bien un DLC, pero se vende por separado y lo podrían haber puesto en la lista. Podría ser también que consideren el hardline como una expansión del 4 y por eso tampoco lo pusieron.

Necesitamos más info al respecto, pero si pones asynchronous shaders en google básicamente lo que sale son diferentes enlaces a noticias de las mismas diapos de AMD de las que hablamos. A ver si algún forero avispado consigue algo más de info al respecto. Igual está preguntado y respondido en algún foro de ea o algo.
Mi teoría personal de la razón porque lo usan en ps4 y no en one es porque probablemente la API de ps4 se parezca mucho a mantle en cuestiones de sintaxis y bf4 en PC tiene su versión mantle. Además en X1 los shaders asíncronos no llegaron hasta verano del 2014 según el SDK, meses después de la salida de bf4.

Ahora mismo seguramente estén modificando el frostbite para los nuevos juegos en los que ya incorporen bien todas estas técnicas para ser aplicados en el battlefront, bf5, etc que vayan saliendo y el hardline no lo dejaron mas como un mod del bf4 y hacer caja :).
@Pada lee mi mensaje. En el SDK de DX de XOne no hay shaders asíncronos. Hay contextos que no son lo mismo. Lee la documentación de DX12 que en las diferencias lo pone. De hecho pone bien claro que no se garantiza que varios contextos se ejecuten al mismo tiempo. Con las 3 colas de DX12 si se podrá, siendo esta vez dependiente de la aplicación.

Si alguien tiene una muestra que diga claramente en ese SDK que soporta shaders asíncronos que la ponga.
seguro @darksch ?... hablan de "asynchronous GPU compute" y por la explicación que hacen del tema se parece mucho a lo que contaba AMD el otro día de los shaders asíncronos. pero bueno puedo estar equivocado.

de todas formas estuviesen o no estuviesen lo que está claro es que no los han utilizado, y que para el bf4 no estaban disponibles seguro 100%.
@Pada Por lo que he entendido en los enlaces posteados aquí, GPU compute es procesar cosas de CPU en la GPU, Async Shading es aprovechar mejor la GPU para cosas gráficas: en los momentos en los que alguna parte de la GPU no está haciendo nada porque está esperando por algo, meten más tareas gráficas para hacer mientras espera para que no esté nunca parada y aumentar el rendimiento.

Pada escribió:Mi teoría personal de la razón porque lo usan en ps4 y no en one es porque probablemente la API de ps4 se parezca mucho a mantle en cuestiones de sintaxis y bf4 en PC tiene su versión mantle. Además en X1 los shaders asíncronos no llegaron hasta verano del 2014 según el SDK, meses después de la salida de bf4.

Ahora mismo seguramente estén modificando el frostbite para los nuevos juegos en los que ya incorporen bien todas estas técnicas para ser aplicados en el battlefront, bf5, etc que vayan saliendo y el hardline no lo dejaron mas como un mod del bf4 y hacer caja :).

Por qué BF4 no tiene shading asíncrono en Xbox One está claro, esa función no estaba en la Api de One cuando salió el juego.

Lo de que en PS4 lo lleva porque el GNM se parece a Mantle y el BF4 lleva Mantle, eso no lo veo tan claro y te lo argumento:

BF4 no sale en la lista de AMD de juegos con async shaders en version PC, sólo sale como soportando async shaders la versión PS4. El parecido entre Mantle y GNM es porque son apis de bajo nivel, en ese sentido también es muy parecido a la api de bajo nivel de Xbox One. Hay un artículo de Anandtech de cuando salieron las consolas que dice que sospechan que Mantle es la api de bajo nivel de Xbox One tal cual:
http://www.anandtech.com/show/7371/understanding-amds-mantle-a-lowlevel-graphics-api-for-gcn
What’s not being said, but what becomes increasingly hinted at as we read through AMD’s material, is not just that Mantle is a low level API, but rather Mantle is the low level API. As in it’s either a direct copy or a very close derivative of the Xbox One’s low level graphics API. All of the pieces are there; AMD will tell you from the start that Mantle is designed to leverage the optimization work done for games on the next generation consoles, and furthermore Mantle can even use the Direct3D High Level Shader Language (HLSL), the high level shader language Xbox One shaders will be coded against in the first place.

Let’s be very clear here: AMD will not discuss the matter let alone confirm it, so this is speculation on our part. But it’s speculation that we believe is well grounded. Based on what we know thus far, we believe Mantle is the Xbox One’s low level API brought to the PC.


El artículo en el que se incluye esa cita fue enlazado desde el twitter oficial de AMD diciendo que era un excelente resumen de lo que es Mantle.
https://twitter.com/AMDRadeon/status/383349757428506624

Es decir, tenemos las informaciones que nos dicen que tanto la api de One como la de PS4 se parecen mucho a Mantle, y desde Julio de 2014 las 3 plataformas soportan Async shading. Si el hecho de que un juego lleve Mantle influyese en que las versiones de consolas con Apis similares usasen esa técnica, deberíamos haber visto algo a estas alturas, no?

Es todo conjetura, pero lo que digo es que no se puede concluir que Mantle=PS4 api=Async shaders porque estamos viendo muchos casos en los que esa relación no se cumple. De hecho, el único caso es Battlefield que, por cierto, en su lanzamiento no soportaba Mantle, eso vino un poco después.

Edit: @darksch Si tienes información fiable que desmiente algo que se ha dicho en este post, no nos lo cuentes, ponlo.
Tampoco podemos juzgar las capacidades de Mantle por los 4 juegos contados que lo utilizan. Además sabemos que en verano de 2014 Mantle pasó a ser Vulkan con lo cual dejó de tener sentido seguir usándolo, y seguramente las implementaciones que ya estaban hechas se quedaron tal cual(como la de Frostbite).
1577 respuestas
1, 2, 3, 4, 5, 632